Maven每日构建的问题

RedFire 2010-09-07 06:40:44
首先说一下我的项目结构,我期望做一个多模块的项目。目录结构如下:

ots-projects
+-- pom.xml
+-- ots-domain
+-- pom.xml
+-- ots-web
+-- pom.xml

由于所有的源码都放在SVN上,所以我想各个项目分别get自己的源代码,如ots-domain和ots-web分别获取自己项目的源代码。

ots-projects目录下的POM文件如下:

<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.abcsoft</groupId>
<artifactId>ots-projects</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>OTS Root Project</name>

<modules>
<module>ots-domain</module>
</modules>

<scm>
<connection>scm:svn:http://192.168.1.24/subversion/OTS/DS/Domain</connection>
<developerConnection>scm:svn:http://192.168.1.24/subversion/OTS/DS/Domain</developerConnection>
<url>scm:svn:http://192.168.1.24/subversion/OTS/DS/Domain</url>
</scm>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.5</version>
</dependency>
</dependencies>

<build>
<plugins>
</plugins>
</build>
</project>

ots-domain目录下的POM文件如下:

<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.abcsoft</groupId>
<artifactId>ots-domain</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>OTS Domain Object Model</name>

<scm>
<connection>scm:svn:http://192.168.1.24/subversion/OTS/DS/Domain</connection>
<developerConnection>scm:svn:http://192.168.1.24/subversion/OTS/DS/Domain</developerConnection>
<url>scm:svn:http://192.168.1.24/subversion/OTS/DS/Domain</url>
</scm>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.5</version>
</dependency>

</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<!--
<compilerArgument>-source 5</compilerArgument>
-->
<source>1.5</source>
<target>1.5</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.4</version>
<configuration>
<goals>compile</goals>
<username>test</username>
<password>test</password>
</configuration>
</plugin>
</plugins>
</build>
</project>

我遇到的问题是:

1、我转到ots-domain目录下,运行“MVN scm:bootstrap”,就是checkout源文件后再编译。但是,我发现MVN在checkout文件后,进行编译时,用的是JDK 1.3的版本。我按照Apache网站上的配置,在compiler-plugin里面指定了使用JDK 1.5的参数,并自己写了一个测试JAVA文件,编译可以通过。但是,运行“MVN scm:bootstrap”还是使用JDK 1.3的版本。对于scm:bootstrap,如何指定它用JDK 1.5版本进行编译呢?

2、我直接在ots-projects目录下运行“mvn scm:bootstrap”,MVN没有将checkout出来的文件放到子模块下,而是直接放在ots-projects目录下。而我直接在ots-domain目录下运行这个命令,checkout出来的文件是放在ots-domain目录下的。我要如何做才能让MVN将不同模块的文件放在不同模块的目录下?

之前主要使用的是Ant,刚刚开始使用Maven,看网络上,好像Maven的知名度还不错,所以我们老大也打算使用Maven来做持续集成。难道是我的用法错了?我想从版本库上获取源代码,再编译,这个是每日编译的基本工作啊!不知道为什么Maven配置起来这么困难呢?如果各位有现成可用的方法可以实现这个功能,也可以告诉我啊。
...全文
1000 点赞 收藏 7
写回复
7 条回复
纪争光 2010年11月12日
没接触过
回复 点赞
williamxiao 2010年11月11日
看了一段时间Maven,后来没有使用。
回复 点赞
stefshawn 2010年10月27日
问题解决了吗?
回复 点赞
Vincent2013SH 2010年09月28日
好像Maven的知名度还不错,所以我们老大也打算使用Maven来做持续集成

自作自受
回复 点赞
KnowingAndDoing 2010年09月22日
能不能介绍一下Maven是什么?
回复 点赞
loveisbug 2010年09月19日
问题解决了吗?
回复 点赞
发动态
发帖子
敏捷开发
创建于2007-12-13

1162

社区成员

282

社区内容

软件工程 敏捷开发
社区公告
暂无公告