0 0

Maven进行每日构建的问题5

首先说一下我的项目结构,我期望做一个多模块的项目。目录结构如下:

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配置起来这么困难呢?如果各位有现成可用的方法可以实现这个功能,也可以告诉我啊。

 

2010年9月07日 18:05
目前还没有答案

相关推荐

    hudson每日构建

    此外,它还支持构建触发器,可以设定特定的触发条件,比如定时触发(每日构建)、代码提交触发等,以满足不同项目的需求。 总之,Hudson作为一款强大的持续集成工具,通过与Subversion、Maven和Ant等工具的集成,极...

    每日构建浅谈一点点,测试发文

    5. **建立文化**:鼓励团队成员养成频繁提交和快速修复问题的习惯,使每日构建成为团队的常规操作。 6. **错误处理**:当构建失败时,需要有明确的流程来处理这些问题,避免导致代码库长时间处于不可用状态。 持续...

    Maven调研报告

    结合任务调度程序,可以实现每日构建,及时发现并解决构建问题。此外,Maven支持持续集成,通过Cobertura等插件提供测试覆盖率报告,帮助提升代码质量。 **6. 代码质量管理** Maven提供了CheckStyle、PMD、CPD等...

    SVN-Jenkins-Nexus-Maven-Tomcat持续集成构建调研报告

    ### SVN-Jenkins-Nexus-Maven-Tomcat 持续集成构建调研报告 #### 定义与背景 持续集成(Continuous Integration, CI)作为一种软件开发实践,在敏捷开发中扮演着核心角色。它鼓励团队成员频繁地集成代码,通过自动...

    数据跑批ssm+maven

    在"ssm+maven"的项目中,我们可以推测这个项目是一个使用Spring、SpringMVC和MyBatis进行开发,并通过Maven进行构建和依赖管理的Web应用。"mmtsTimer"可能是该项目中的一个模块,专门处理数据跑批的定时任务。这个...

    关于每日构建|每小时构建

    火龙果软件工程技术中心 持续集成工具:CruiseControl,俗称cc构建工具:Ant(Maven不错,但还未使用熟练)应用服务器:tomcat版本控制器:Subversion一.cc的设置首先下载CruiseControl,目前版本是2.7.1,打开目录,...

    基于SSM框架+mysql,Maven项目管理实现的在线记账系统项目源码.zip

    Maven是Java项目的构建工具,它通过读取项目配置文件(pom.xml)来管理项目的构建、报告和依赖关系。Maven简化了构建过程,统一了构建方式,并能自动下载项目所需的依赖库,使得开发环境的搭建变得轻松。 【在线...

    JAVA每日一题11

    而“工具”可能是指IDE(集成开发环境)、版本控制工具(如Git)、构建工具(如Maven或Gradle)等,这些工具在日常开发中不可或缺。 【压缩包子文件的文件名称列表】中只有一个“images”,这意味着附件可能包含了...

    jenkins做敏捷开发中的自动测试及部署

    2. 测试人员需每日检查Jenkins的构建结果,确认测试是否通过,及时反馈问题。 3. 开发和测试人员应编写自动化测试代码,减少重复测试,提高测试覆盖率和效率。 总结起来,Jenkins与Maven的结合使用在敏捷开发中扮演...

    项目是否需要持续集成

    持续集成的10个核心实践包括维护单一源码仓库、自动化构建与测试、每日向主干提交代码、每次提交都在集成机器上构建、保持构建快速、在模拟生产环境中测试、易于获取最新可执行文件、公开进度、自动化部署等。...

    JAVA每日一题08

    “工具”则涵盖了一系列辅助开发的软件和库,如集成开发环境(IDE)如Eclipse、IntelliJ IDEA,版本控制系统如Git,构建工具如Maven或Gradle,以及调试、测试和性能分析工具等。这些工具大大提高了开发效率,使代码...

    jpmctradingapp

    使用JDK 8进行构建 构建usind Maven,它将构建并生成工件。 - sudo mvn clean package 运行每日交易报告 - java -jar tradereporting-1.0-SNAPSHOT-jar-with-dependencies.jar 建立Docker映像 - sudo mvn clean ...

    每日:每日练习

    5. build.gradle (或pom.xml):构建脚本,如果是Java项目,可能使用Gradle或Maven进行构建。 6. LICENSE:项目的开源许可协议。 7. contributing.md:贡献指南,说明如何参与项目,提交自己的解决方案或提出改进意见...

    基于 GitHub Actions 的一个掘金每日自动签到与抽奖的 JAVA 程序.zip

    10. **依赖管理**:Java 项目通常使用 Maven 或 Gradle 这样的构建工具来管理项目的依赖关系,确保所有必要的库都能正确地被引入和更新。 通过以上这些知识点,我们可以了解到这个项目的核心组成部分和它如何通过 ...

    疫情数据管理系统,数据可视化+数据管理+权限管理,可用于毕业设计.zip

    同时,Maven作为项目构建工具,通过pom.xml文件管理项目的依赖关系,确保项目的可重复构建和部署。 源代码结构方面,`src`目录通常包含源代码文件,如Java类或JavaScript脚本,`img`目录则用于存放项目中使用的图像...

    基于springboot的前后端分离每日任务打卡系统-源码

    5. **构建工具**:如Maven或Gradle的配置文件(pom.xml或build.gradle),用于管理依赖和构建流程。 6. **测试**:包含单元测试和集成测试代码,用于验证代码的功能和性能。 7. **部署相关**:如Dockerfile(如果...

    java毕业设计之基于uniapp的企业人事考勤管理系统源码.zip

    Maven 3.6作为构建工具,负责依赖管理和项目构建,简化了开发过程。开发工具推荐使用IntelliJ IDEA或Eclipse,两者都是Java开发的主流IDE,提供了丰富的代码提示和调试功能。 项目的核心部分可能包括以下几个模块:...

    DailyLeetcode:每日选择的问题

    【描述】"每日选择的问题"意味着这个压缩包可能包含了用户每天挑选的LeetCode题目,这些题目可能是按照难度、类型或者特定主题进行选择的,用于系统性地训练编程思维和算法实现。通过这样的日常练习,开发者可以不断...

    ssm+vue的职工健康每日申报管理系统(有报告) Javaee项目,ssm vue前后端分离项目

    7. **项目结构**:理解Maven或Gradle的项目构建方式,以及前后端的目录结构和文件组织。 8. **安全机制**:如身份验证(Authentication)和授权(Authorization),可能使用JWT(JSON Web Tokens)或OAuth2。 9. *...

Global site tag (gtag.js) - Google Analytics