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

maven+jdk1.5编译部署工程(请尝试使用 -source 1.5 以启用注释)问题说明

阅读更多

1.接上文|maven部署web工程基础步骤(http://simpledev.iteye.com/blog/254281)
 在开发的工程中可能会使用jdk1.5的注释或泛型,如:
@Override
@SuppressWarnings("unused")
@SuppressWarnings("deprecation")
Map<String, String> map = new HashMap<String, String>();
maven默认是使用低版本编译,mvn package -e 抛出如下一些异常:

D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,28] 需
要 ';'
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,33] 非
法字符: \59272
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,39] 非
法字符: \58933
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,45] 非
法字符: \65533

D:\wap_build2.5.1\src\main\java\org\fengzhong\wapbuild\action\news\SaveNewsIssue
ContentAction.java:[295,25] -source 1.3 中不支持注释
(请尝试使用 -source 1.5 以启用注释)
                        @SuppressWarnings("unused")
D:\wap_build2.5.1\src\main\java\org\fengzhong\wapbuild\service\research\impl\Mob
ileResearchServiceImpl.java:[165,19] -source 1.3 中不支持泛型
(请尝试使用 -source 1.5 以启用泛型)
                Map<String, String> map = new HashMap<String, String>();

D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,36]
 需要 ';'
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,41]
 非法字符: \59272
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,47]
 非法字符: \58933
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,53]
 非法字符: \65533

D:\wap_build\src\main\java\org\fengzhong\wapbuild\service\product\impl\ProjectIm
pl.java:[135,20] -source 1.3 中不支持泛型
(请尝试使用 -source 1.5 以启用泛型)
                List<Channel> temp2 = new ArrayList<Channel>();
说明:FileUtil.java和StringUtils.java在工程中没有问题,在类中写了main函数方法。


解决方法:需要对pom.xml配置plugin,如果工程中的jar文件都是统一由maven管理,配置:
<plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
就可以了,否则需要指定jar的物理位置:
<compilerArguments>
               <extdirs>D:\wap_build\src\main\webapp\WEB-INF\lib</extdirs>
             </compilerArguments>
lib默认一般放在工程~\WEB-INF\下面,同时也方便打包时将lib加入war文件中。
如果既没有使用maven管理jar,也没有指定compilerArguments ~  extdirs ~ lib配置路径,在编译时会抛出如:
D:\wap_build\src\main\java\org\fengzhong\wapbuild\action\common\MainAction.java:
[3,30] 软件包 com.opensymphony.xwork 不存在
D:\wap_build\src\main\java\org\fengzhong\wapbuild\action\common\MainAction.java:
[5,32] 找不到符号
符号: 类 ActionSupport
public class MainAction extends ActionSupport{
... 等找不到软件包或符号异常。
打开pom.xml文件,配置jdk1.5编译,例如完整pom.xml文件代码:

<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.fengzhong.wapbuild</groupId>
  <artifactId>wap_build</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>wap_build Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
                <encoding>UTF-8</encoding>
             <compilerArguments>
               <extdirs>D:\wap_build\src\main\webapp\WEB-INF\lib</extdirs>
             </compilerArguments>
            </configuration>
        </plugin>
    </plugins>
  </build>
</project>

 
都配置好的情况下:mvn package -e
...
[INFO] Generating war D:\wap_build\target\wap_build-1.0-SNAPSHOT.war
[INFO] Building war: D:\wap_build\target\wap_build-1.0-SNAPSHOT.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 28 seconds
[INFO] Finished at: Wed Aug 12 08:52:54 GMT 2009
[INFO] Final Memory: 4M/34M
[INFO] ------------------------------------------------------------------------
在创建的wap_build第一级目录target\下面就可以找到以pom.xml文件中: artifactId-version.war命名的部署文件了。

命令索引:
 D:\>mvn archetype:create -DgroupId=org.fengzhong.wapbuild -DartifactId=wap_build -DarchetypeArtifactId=maven-archetype-webapp
 D:\>cd wap_build
 D:\wap_build>mvn package -e
目录索引:

D:/
  wap_build
    src
      \main\java   ...工程中的java文件
      \main\resources   ...工程中的资源文件
      \main\webapp  ...工程中的页面文件(如:jsp,html,styles/css,js,images,WEB-INF/classes,WEB-INF/lib,WEB-INF/web.xml)
    target(BUILD SUCCESSFUL通过之后才会生成,一般重新生成时,最好把该目录删除)
        classes(编译后的类路径)
        wap_build-1.0-SNAPSHOT  ---部署文件夹
        wap_build-1.0-SNAPSHOT.war ---部署文件war
    pom.xml

 

分享到:
评论

相关推荐

    JDK环境配置+apache-maven-3.6.3+1.8JDK+apache-tomcat-9.0.39

    JDK环境配置+apache-maven-3.6.3+1.8JDK+apache-tomcat-9.0.39 超级详细的Java环境配置教程 对于很多初学者来说,我想可能很多人都会遇到JDK环境变量的配置问题。明明就是按照度娘上的教程去一步步配置的,但还是...

    maven3.5.4+JDK1.8

    maven-3.5.4+jdk1.8打包备用。maven-3.5.4+jdk1.8打包备用。maven-3.5.4+jdk1.8打包备用。maven-3.5.4+jdk1.8打包备用。maven-3.5.4+jdk1.8打包备用。

    maven3.2.3+eclipse4.4+JDK1.8环境搭建

    maven3.2.3+eclipse4.4+JDK1.8环境搭建.Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。

    Jenkins+Maven+SVN+Tomcat 持续集成环境快捷部署

    jenkins+maven+svn+tomcat 持续集成环境快捷部署,实现自动编译打包部署

    hudson+maven+svn自动化部署

    工作目的:实现自动化部署工作,以期提高开发项目的工作效率; 工作内容:利用开源的可持续集成工具,实现java项目的自动编译、打包、发布等工作流程; 具体工作内容如下: 一、 自动化部署的环境搭建; 二、 Maven...

    bcprov-jdk15on-1.60-API文档-中文版.zip

    赠送jar包:bcprov-jdk15on-1.60.jar; 赠送原API文档:bcprov-jdk15on-1.60-javadoc.jar; 赠送源代码:bcprov-jdk15on-1.60-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Maven兼容jdk1.7版本

    下过好多maven,但是版本与jdk版本对应存在问题,本版本对应jdk1.7,相当稳定~

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

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

    Java环境搭建JDK1.8+MAVEN3.5.4+tomcat8.5

    apache-maven-3.5.4-bin apache-tomcat-8.5.32-windows-x64 jdk-8u111-windows-x64

    apache-maven-3.5.2+jdk7以上.rar

    apache-maven-3.5.2+jdk7以上

    bcprov-jdk15on-1.59-API文档-中文版.zip

    赠送jar包:bcprov-jdk15on-1.59.jar; 赠送原API文档:bcprov-jdk15on-1.59-javadoc.jar; 赠送源代码:bcprov-jdk15on-1.59-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    bcpkix-jdk15on-1.59-API文档-中文版.zip

    赠送jar包:bcpkix-jdk15on-1.59.jar; 赠送原API文档:bcpkix-jdk15on-1.59-javadoc.jar; 赠送源代码:bcpkix-jdk15on-1.59-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    bcprov-jdk15on-1.58-API文档-中文版.zip

    赠送jar包:bcprov-jdk15on-1.58.jar; 赠送原API文档:bcprov-jdk15on-1.58-javadoc.jar; 赠送源代码:bcprov-jdk15on-1.58-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    JDK+Maven+Tomcat+MySQL.zip

    JDK1.8+Tomcat8.5+Maven3.3.9+MySQL5.7,都是在Linux系统下搭建环境所需要的压缩包,需要的可以自行下载,配置详情,可以参看https://blog.csdn.net/weixin_40460171/article/details/106758629

    jdk1.8.0+tomcat-7+maven-3.3.9

    jdk1.8.0+tomcat-7+maven-3.3.9 64位 后续继续发布java开发所用到的实用工具,有不明白的留言

    bcprov-jdk15on-1.52-API文档-中文版.zip

    赠送jar包:bcprov-jdk15on-1.52.jar; 赠送原API文档:bcprov-jdk15on-1.52-javadoc.jar; 赠送源代码:bcprov-jdk15on-1.52-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    基于SSM+JDK1.8+tomcat7+maven3.6.0的 Web版在线聊天室源码+项目说明.zip

    【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和...基于SSM+JDK1.8+tomcat7+maven3.6.0的 Web版在线聊天室源码+项目说明.zip

    Spirng+SpringMVC+Maven+Mybatis+MySQL实例

    Spirng+SpringMVC+Maven+Mybatis+MySQL实例,eclipse+tomcat7+jdk1.7

    Spirng+SpringMVC+Maven+Mybatis+MySQL+tomcat实例

    Spirng+SpringMVC+Maven+Mybatis+MySQL实例,eclipse+tomcat7+jdk1.7

Global site tag (gtag.js) - Google Analytics