`
juforg
  • 浏览: 45511 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

maven jdk版本 编译问题

阅读更多
  1. 模块继承方式
    xxx-aggregator-->父工程 ,同时承担聚合模块和父模块的作用,没有实际代码和资源文件
    <?xml version="1.0" encoding="UTF-8"?>
    <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">
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <struts2.springPlatformVersion>3.0.5.RELEASE</struts2.springPlatformVersion>
      </properties>
      
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.xxx.xxx</groupId>
      <artifactId>xxx-aggregator</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>pom</packaging>
    
      <name>xxx-aggregator</name>
      <url>http://maven.apache.org</url>
      <!-- 开发者 -->
      <developers>
      	<developer>
      		<id>juforg</id>
      		<name>S J</name>
      		<roles>
      			<role>dev</role>
      		</roles>
      		<timezone>+8</timezone>
      	</developer>
      </developers>
      <!-- 待聚合模块 -->
      <modules>
        <module>../xxx-common</module>
        <module>../xxx-web</module>
      </modules>
      
      <!-- 配置部署的远程仓库   
      <distributionManagement> 
        <snapshotRepository>  
            <id>nexus-snapshots</id>  
            <name>nexus distribution snapshot repository</name>  
            <url>http://10.78.68.122:9090/nexus-2.1.1/content/repositories/snapshots/</url>  
        </snapshotRepository>  
      </distributionManagement>  -->  
      <!-- 有的人会报错,找不到tools.jar -->
        <dependencyManagement>  
            <dependencies>
                <dependency>
                    <groupId>com.sun</groupId>  
                    <artifactId>tools</artifactId>  
                    <version>1.6.0</version>  
                    <scope>system</scope>  
                    <systemPath>${env.JAVA_HOME}/lib/tools.jar</systemPath>  
                </dependency>
                 <dependency>
    		    	<groupId>log4j</groupId>
    		    	<artifactId>log4j</artifactId>
    		    	<version>1.2.14</version>
    		    </dependency>
            </dependencies>  
        </dependencyManagement>
    	 <build>
    	 	<pluginManagement>
    		<plugins>
    		    <!-- 使用maven的编译插件 使maven能够编译1.5以上 -->
    			<plugin>
    	    		<groupId>org.apache.maven.plugins</groupId>
    	    		<artifactId>maven-compiler-plugin</artifactId>
    	    		<version>2.5.1</version>
    	    		<configuration>
    	    			<source>1.6</source>
    	  				<target>1.6</target>
    	  				<encoding>UTF-8</encoding>
    	    		</configuration>
    	    	</plugin>
    	    	<plugin>
    	    		<groupId>org.apache.maven.plugins</groupId>
    	    		<artifactId>maven-resources-plugin</artifactId>
    	    		<version>2.6</version>
    	    		<configuration>
    	  				<encoding>UTF-8</encoding>
    	    		</configuration>
    	    	</plugin>
    		</plugins>  	
    	 	</pluginManagement>
    	 </build>
    </project>
     
    xxx-common-->基础工程 , 公共的代码
    <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">
      <parent>
      	<groupId>com.xxx.xxx</groupId>
      	<artifactId>xxx-aggregator</artifactId>
      	<version>1.0-SNAPSHOT</version>
      	<relativePath>../xxx-aggregator</relativePath>
      </parent>
    
      <modelVersion>4.0.0</modelVersion>
      <artifactId>xxx-common</artifactId>
      <packaging>jar</packaging>
    
      <name>xxx-common</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <struts2.springPlatformVersion>3.1.1.RELEASE</struts2.springPlatformVersion>
      </properties>
    
      <dependencies>
       </dependencies>
    </project>
    
     
    xxx-web-->web工程 放置里公共的配置文件,比如struts.xml、ssoconfig.properties等,起到聚合的作用, 即把所有的web项目,打成最终的war包
    <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">
      
      <parent>
      	<groupId>com.jiguancheng.humabot</groupId>
      	<artifactId>xxx-aggregator</artifactId>
      	<version>1.0-SNAPSHOT</version>
      	<relativePath>../xxx-aggregator</relativePath>
      </parent>
      
      <modelVersion>4.0.0</modelVersion>
      <artifactId>xxx-web</artifactId>
      <!--打包的机制,如pom, jar, maven-plugin, ejb, war, ear, rar, par-->
      <packaging>war</packaging>
      <!-- 项目除了artifactId外,可以定义别名 -->
      <name>xxx-web</name>
      <url>http://maven.apache.org</url>
      <!-- 开发者 -->
      <developers>
      	<developer>
      		<id>juforg</id>
      		<name>S J</name>
      		<roles>
      			<role>dev</role>
      		</roles>
      		<timezone>+8</timezone>
      	</developer>
      </developers>
      <properties>
          <currentVersion>${project.version}</currentVersion>
          <struts2.version>2.3.4.1</struts2.version>
          <struts2.springPlatformVersion>3.1.1.RELEASE</struts2.springPlatformVersion>
          <ognl.version>3.0.5</ognl.version>
          <asm.version>3.3</asm.version>
          <tiles.version>2.2.2</tiles.version>
          <java.home>C:\glassfish3\jdk</java.home>
          <tomcat.home>D:\tomcat\apache-tomcat-6.0.35</tomcat.home>
      </properties>  
      <!--设置仓库 
      <repositories>
      	<repository></repository>
      </repositories>-->
      <!-- 项目的问题管理系统 
      <issueManagement>
      	<system>jira</system>
      	<url>http://111.com</url>
      </issueManagement>-->
      
      <!-- 依赖 -->
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.10</version>
          <scope>test</scope>
        </dependency>
        <dependency>
        	<groupId>org.apache.struts</groupId>
        	<artifactId>struts2-core</artifactId>
        	<version>${struts2.version}</version>
        	<exclusions>
    			<exclusion>
    				<groupId>com.sun</groupId>
    				<artifactId>tools</artifactId>
    			</exclusion>
    		</exclusions>
        </dependency>
        <dependency>
        	<groupId>log4j</groupId>
        	<artifactId>log4j</artifactId>
        </dependency>
         </dependencies>
      <build>
        <finalName>xxx-online</finalName>
        <defaultGoal>compile</defaultGoal>
        <plugins>
       	    <plugin>
        	<!-- 不加此插件会报:war files include a WEB-INF/web.xml which will be ignored -->
    			<groupId>org.apache.maven.plugins</groupId>
    			<artifactId>maven-war-plugin</artifactId>
    			<version>2.1.1</version>
    			<configuration>
    			<!-- http://maven.apache.org/plugins/maven-war-plugin/ -->
    			<packagingExcludes>WEB-INF/web.xml</packagingExcludes>
    			</configuration>
    		</plugin>
        	<!-- 自动化部署插件 Cargo,部署至tomcat7 -->
        	<plugin>
        		<groupId>org.codehaus.cargo</groupId>
        		<artifactId>cargo-maven2-plugin</artifactId>
        		<version>1.2.3</version>
        		<configuration>
       				<container>
       					<containerId>tomcat6x</containerId>
       					<home>${tomcat.home}</home>
       				</container>
      				<configuration>
      					<type>existing</type>
      					<home>${tomcat.home}</home>
      					<properties>
      						<cargo.jvmargs>
      							-Xdebug
      							-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
      						</cargo.jvmargs>
      					</properties>
      				</configuration>
        		</configuration>
        		<executions>
        			<execution>
        				<id>cargo-run</id>
        				<phase>pre-integration-test</phase>
        				<goals>
        					<goal>run</goal>
        				</goals>
        			</execution>
        		</executions>
        	</plugin>
        	<!-- 部署到jetty -->
        	<plugin>
        		<groupId>org.mortbay.jetty</groupId>
        		<artifactId>jetty-maven-plugin</artifactId>
        		<version>8.1.5.v20120716</version>
        		<configuration>
        			<scanIntervalSeconds>10</scanIntervalSeconds>
        			<webAppConfig>
        				<!-- 从jetty的jar中拷贝出webdefault.xml 修改其中的参数 ,可以修改html,js -->
        				<defaultsDescriptor>src/main/resources/jetty.xml</defaultsDescriptor>
        				<contextPath>/${project.build.finalName}</contextPath>
        			</webAppConfig>
        			<stopKey>foo</stopKey>
        			<stopPort>9999</stopPort>
    				<reload>manual</reload>
    				<properties>
    					<cargo.jvmargs>
    						-Xdebug
    						-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
    					</cargo.jvmargs>
    				</properties>
        		</configuration>
        	</plugin>
        </plugins>
      </build>
    </project>
    
     
    其他工程
  2. 是修改~/.m2/repository目录下settings.xml文件,添加一个profile,内容如下:
    <profile>
      <id>jdk-1.6</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.6</jdk>
      </activation>
      <properties>
        <maven.compiler.source>1.6</maven.compiler.source>
        <maven.compiler.target>1.6</maven.compiler.target>
        <maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
      </properties>
    </profile>
    
     

以上两个方法都比在每个pom文件中配置方便

各有各的优缺点

 

 

  • 大小: 21.7 KB
分享到:
评论

相关推荐

    Maven兼容jdk1.7版本

    同时,要确保系统的PATH环境变量设置正确,指向的是与Maven匹配的JDK版本,以避免潜在的兼容性问题。 通过了解Maven 3.0.5与JDK 1.7的兼容性,开发者可以更自信地在他们的Java 7项目中采用Maven,确保构建过程的...

    IDEA+Maven导入新包JDK版本冲突问题

    IDEA+Maven导入新包JDK版本冲突问题解决方案 ...解决 IDEA 和 Maven 中的 JDK 版本冲突问题可以通过在 pom.xml 中指定编译版本来实现。这种方法可以确保项目使用的是正确的 JDK 版本,并避免版本冲突问题。

    eclipse更新maven,jdk改变解决办法

    eclipse更新maven,jdk改变解决办法 eclipse更新maven时,项目原本设定的jdk版本发生改变,这是...eclipse更新maven时,jdk版本改变的问题可以通过在pom.xml文件中指定jdk版本或在settings.xml文件中加入配置来解决。

    MAVEN-3.5.4,需要jdk7及以上版本

    **正文** Maven是Java开发领域中不可或缺的项目管理和构建工具,它通过自动化构建过程,帮助开发者管理依赖、编译...确保正确安装JDK 7或更高版本后,你可以充分利用Maven 3.5.4的功能来提高项目管理的效率和质量。

    如何提高Maven多模块项目编译速度.docx

    当遇到“无效的目标发行版”错误时,可能是由于Maven使用了不正确的JDK版本。此时,需要确保系统环境变量中设置的JDK版本与项目所需版本一致。如果问题仍然存在,可以在pom.xml中显式指定JDK版本,如上述代码所示。...

    解决MyEclipse中Maven设置jdk版本jdk1.8报错问题

    解决MyEclipse中Maven设置jdk版本jdk1.8报错问题 在MyEclipse中使用Maven进行项目开发时,可能会遇到jdk版本设置问题。本文将详细介绍如何解决MyEclipse中Maven设置jdk版本jdk1.8报错问题。 知识点一:MyEclipse中...

    jdk11_maven3.6_win_x64.zip

    标题“jdk11_maven3.6_win_x64.zip”指的是一个包含了Java Development Kit (JDK) 11的Oracle版本以及Maven 3.6的Windows x64平台安装包。这个压缩文件是为了在64位Windows操作系统上同时安装和使用这两个重要的Java...

    jdk+tomcat+maven

    解决Maven与JDK版本冲突的问题通常涉及设置`JAVA_HOME`环境变量,确保Maven使用的是你期望的JDK版本。此外,Maven的pom.xml文件中也可以指定兼容的Java版本,以避免编译错误。 3. **Tomcat**: Tomcat是Apache软件...

    Jenkinsfile调用jdk命令和maven或grandle编译命令工具配置

    但是,我们面临的一个问题是:如何在 Jenkins 容器中调用这些命令,而不需要在容器中安装 JDK 环境或 Maven/Gradle 命令?今天,我们将探讨如何配置 Jenkinsfile 来调用 JDK 命令和 Maven 或 Gradle 编译命令工具。 ...

    IDEA-Maven项目的jdk版本设置方法

    IDEA-Maven项目jdk版本设置方法 在 Intellij Idea 中,设置 JDK 版本是一个非常重要的步骤...因此,在 IDEA-Maven 项目中,设置 JDK 版本是一个非常重要的步骤,需要正确地设置 JDK 版本,以避免语法错误和其他问题。

    apache-maven-3.3.9,需要jdk7及以上版本

    使用Maven时,开发者可以利用预定义的构建生命周期和阶段,如`clean`(清理项目)、`compile`(编译源代码)、`test`(运行单元测试)和`install`(将项目安装到本地仓库)。此外,Maven还支持插件机制,允许扩展其...

    jdk8、maven3.9安装包

    在安装JDK 8时,通常需要下载适合操作系统的安装文件,然后按照安装向导进行操作,包括选择安装路径、设置环境变量JAVA_HOME,以及确保PATH变量包含%JAVA_HOME%\bin,以便在命令行中能够直接运行Java相关命令。...

    eclipse中使用maven创建项目JDK版本默认是1.5解决方法.docx

    在Eclipse中使用Maven创建项目时,你可能会遇到一个常见的问题,即默认的JDK版本被设置为较旧的1.5。这可能会导致一些现代Java特性无法使用,或者与你的开发环境不兼容。以下是解决这个问题的详细步骤: 首先,我们...

    Javamaven全局配置jdk版本共3页.pdf.zip

    【Java Maven 全局配置 JDK 版本详解】 ...正确配置JDK版本有助于确保项目的稳定性和兼容性,避免因版本不匹配引发的编译或运行问题。同时,灵活地管理多个JDK版本有利于应对多平台或多项目需求。

    maven配置全局的jdk和配置局部的jdk

    **全局JDK配置**是指在用户的Maven配置文件`settings.xml`中进行设置,这样设置的好处是可以作用于所有通过该Maven环境构建的项目,避免了每个项目都需要单独设置的问题。 ##### 配置步骤 1. **定位配置文件:**...

    已配置好的maven-jdk1.8版本

    1. **JDK安装**:下载并安装JDK 1.8,设置JAVA_HOME环境变量指向JDK的安装路径。 2. **Maven下载**:从Maven官网获取最新稳定版的Maven,并解压到指定目录。 3. **Maven配置**:修改Maven的配置文件`conf/settings....

    Javamaven全局配置jdk版本共3页.pdf.z

    【Java Maven全局配置JDK版本】是Java开发者在日常工作中经常遇到的问题,尤其是在多项目环境中,需要统一管理各个项目的编译环境。Maven作为Java项目管理和构建工具,它允许我们通过配置来设定JDK版本,确保项目的...

    jdk反编译工具

    本文将深入探讨"jdk反编译工具"这一主题,帮助你了解如何借助此类工具解决无法查看源代码的问题。 首先,让我们了解什么是反编译。反编译是将已编译的计算机程序(通常为字节码或机器码)转换回接近原始源代码的...

    eclipse 创建maven项目设置默认jdk版本.rar

    这里`&lt;source&gt;`标签指定源代码的JDK版本,`&lt;target&gt;`标签指定编译目标的JDK版本。根据你的需求,将数字替换为你想使用的JDK版本,如Java 11则改为11。 另外,确保Eclipse IDE中也设置了正确的JRE。在Eclipse的...

Global site tag (gtag.js) - Google Analytics