Board logo

标题: 使用 Google Sitebricks 构建更好的 Web 应用程序(2) [打印本页]

作者: look_w    时间: 2018-9-14 13:22     标题: 使用 Google Sitebricks 构建更好的 Web 应用程序(2)

使用 Maven 创建 Sitebricks 应用程序像众多现代 Java 框架一样,Sitebricks 使用 Maven。许多框架使用 Maven 的原型系统来构建新项目。这也是 Sitebricks 的计划,但在撰写本文时,Maven 还不可用。本文的示例中更多地采用手动方法。您将遵循 Maven 最佳实践,首先创建一个业务逻辑项目,如清单 1 中所示。
清单 1. 使用 Maven 创建一个业务逻辑项目
1
2
$ mvn archetype:create -DgroupId=org.developerworks.reviewr -DartifactId=reviewrMain
[INFO] Scanning for projects...




这段代码创建了一个简单的项目结构,是 Java 应用程序的典型特征,最终会被打包成 JAR 文件。下一步就是创建第二个项目,即下面所示的 Web 应用程序。
清单 2. 使用 Maven 创建一个 Java Web 应用程序
1
2
3
$ mvn archetype:create -DgroupId=org.developerworks.reviewr -
DartifactId=reviewrWeb -DarchetypeArtifactId=maven-archetype-webapp
[INFO] Scanning for projects...




这与  类似,不过这一次提供了 maven-archetype-webapp 的原型 ID。它是 Maven 中的一个核心原型,可创建一个基本的 Java Web 应用程序项目。创建好项目之后,打开 pom 文件以向其添加 Sitebricks。首先为 main 业务逻辑项目执行该操作,如清单 3 所示。
清单 3. Main 项目的 pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<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/
   maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.developerworks.reviewr</groupId>
    <artifactId>reviewrMain</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>reviewrMain</name>
    <url>http://maven.apache.org</url>
    <repositories>
        <repository>
            <id>sonatype-google-snapshots</id>
            <name>Sonatype Google Snapshots Repository</name>
            <url>http://oss.sonatype.org/content/repositories/
google-snapshots/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.sitebricks</groupId>
            <artifactId>sitebricks</artifactId>
            <version>0.8-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <version>10.2.2.0</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>




这个 pom 文件是对  中生成的原始文件进行了多处修改而生成的。
Web 应用程序项目的 pom 文件如下所示。
清单 4. Web 应用程序的 pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<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/
   maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.developerworks.reviewr</groupId>
  <artifactId>reviewrWeb</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>reviewrWeb Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
        <groupId>org.developerworks.reviewr</groupId>
        <artifactId>reviewrMain</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>reviewrWeb</finalName>
    <plugins>
        <plugin>
             <groupId>org.mortbay.jetty</groupId>
             <artifactId>maven-jetty-plugin</artifactId>
        </plugin>
    </plugins>
  </build>
</project>




清单 4 显示了一些小的修改。其中添加了 main 项目上的一个依赖项,这会引入在 main 项目中编写的代码以及 main 项目上的所有依赖项(包括 Sitebricks 上的依赖项)。您还可以添加一个 Jetty 插件,从而可以启动嵌入式 Jetty Web 服务器并在其上运行应用程序。项目构建好之后,就可以开始使用 Sitebricks 了。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0