RapidClipse erzeugt automatisch eine Standard-Projektstruktur bestehend aus den 6 Hauptbereichen (Packages). Dadurch gibt RapidClipse eine Anwendungsarchitektur vor, die eine strikte Trennung unterschiedlicher Anwendungsschichten vorsieht, insbesondere der UI-Schicht, der Datenhaltungs-Schicht (Entities) sowie der Datenabfrage-Schicht (Data Access).
- Project - Hier werden alle Ihre Projekte angezeigt, als auch der generierte target Ordner, welcher Ihre fertig gebaute Anwendung beinhaltet, oder auch die pom.xml, welche für Maven gebraucht wird
- main-java - Hier können Sie ihren gesamten Quellcode sehen, wie z.B. Entities, Business Klassen, UI Klassen etc.
- main-resources - Hier können Sie die Resourcen sehen, die von dem Application-Server verwendet werden
- main-webapp - Hier können Sie die Resourcen sehen, die vom Client benutzt werden
- test-java - Hier können die Test-Klassen angelegt werden
- test-resourcen - Hier können die Resourcen angelegt werden, die von den Test-Klassen benutzt werden
Hinweis:
- RapidClipse generiert eine Standard-Package-Struktur, Sie können jedoch auch von dieser abweichen und Ihr Projekt mit dem Standard Eclipse Project Explorer komplett selber strukturieren.
Generierte Dateien
- Projectname
- JRE System Library - Dateien der Java Runtime Environment.
- Maven Dependencies - Benötigte Bibliotheken, die automatisch vom Maven Repository heruntergeladen und in das RapidClipse Projekt eingebunden werden.
- ehcache.xml - EhCache Konfigurations-Datei. RapidClipse verwendet EhCache standardmäßig als Second-Level Cache für Hibernate, um Datenbankzugriffe via Hibernate zu beschleunigen.
persistence.xml - JPA Konfigurations-Datei, welche u.a. Hibernate als JPA Provider festlegt.
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> <persistence-unit name="examples"> <provider> org.hibernate.jpa.HibernatePersistenceProvider </provider> <class>com.company.examples.entities.Automaker</class> <class>com.company.examples.entities.Carmodel</class> <class>com.company.examples.entities.Extra</class> <class>com.company.examples.entities.Car</class> <properties> <property name="hibernate.cache.use_second_level_cache" value="true" /> <property name="hibernate.cache.use_query_cache" value="true" /> <property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.ehcache.EhCacheRegionFactory" /> <property name="javax.persistence.sharedCache.mode" value="DISABLE_SELECTIVE" /> <property name="hibernate.archive.autodetection" value="class, hbm" /> <property name="hibernate.show_sql" value="false" /> <property name="hibernate.hbm2ddl.auto" value="validate" /> <property name="hibernate.transaction.auto_close_session" value="false" /> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" /> <property name="javax.persistence.jdbc.driver" value="org.h2.Driver" /> <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost:5435/northwind;IFEXISTS=TRUE" /> <property name="javax.persistence.jdbc.user" value="sa" /> <property name="javax.persistence.jdbc.password" value="" /> </properties> </persistence-unit> </persistence>
pom.xml - Maven Konfigurations-Datei. Hier werden Abhängigkeiten angegeben, die das RapidClipse Projekt zu anderen Bibliotheken hat.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company</groupId> <artifactId>ecample</artifactId> <packaging>war</packaging> <name>Ecample</name> <version>0.1.0-SNAPSHOT</version> <build> <resources> <resource> <directory>src</directory> <excludes> <exclude>**/*.java</exclude> <exclude>**/*.ui.xml</exclude> </excludes> </resource> </resources> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <warSourceDirectory>WebContent</warSourceDirectory> <failOnMissingWebXml>false</failOnMissingWebXml> <warName>${project.name}</warName> </configuration> </plugin> </plugins> </build> <repositories> <repository> <id>vaadin-addons</id> <url>http://maven.vaadin.com/vaadin-addons</url> </repository> </repositories> <dependencies> <dependency> <groupId>com.xdev-software</groupId> <artifactId>xdev-server-core</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>com.xdev-software</groupId> <artifactId>xdev-server-ui</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>com.xdev-software</groupId> <artifactId>xdev-server-aa</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>com.xdev-software</groupId> <artifactId>xdev-server-aa-ui</artifactId> <version>1.2.0</version> </dependency> </dependencies> <properties> <project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding> </properties> </project>
web.xml - Konfigurations-Datei über die die Anwendung in den Servlet-Container als Web-Applikation eigebunden wird.
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>Ecample</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
- main-java
MainLayout.java - Standardmäßig von RapidClipse angelegte View. Die Bezeichnung MainLayout kann jederzeit geändert werden.
AppServlet.java - Vaadin Konfigurations-Datei.
package com.company.demoproject; import javax.servlet.annotation.WebServlet; import com.rapidclipse.framework.server.RapServlet; @WebServlet(urlPatterns = "/*", asyncSupported = true) public class AppServlet extends RapServlet { public AppServlet() { super(); } }