首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 Google Sitebricks 构建更好的 Web 应用程序(2)

使用 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 文件是对  中生成的原始文件进行了多处修改而生成的。
  • 您已经添加了一个资源库 http://oss.sonatype.org/content/repositories/google-snapshots/,在这里可以找到 Sitebricks 和 Guice 的 Maven 工件。
  • 在依赖项部分,您添加了两个依赖项:
    • Sitebricks 的一个依赖项,它会引入项目所需的所有 Sitebricks JARs。
    • Apache Derby 上的一个依赖项,它是本项目中用到的数据库。Derby 是一个嵌入式数据库,属于 Java 6 的一部分。从该依赖项中得到的主要是 Derby 需要的嵌入式 JDBC 驱动器。
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 了。
返回列表