zoukankan      html  css  js  c++  java
  • 解决Jenkins运行ant脚本编译项目报错Unable to load annotation processing manager org.eclipse.jdt.internal.compiler.apt.dispatch.BatchAnnotationProcessorManager from classpath.

    在进行Jenkins+ant+tomcat编译项目自动化的时候,运行过程中会出现报错:

    Unable to load annotation processing manager org.eclipse.jdt.internal.compiler.apt.dispatch.BatchAnnotationProcessorManager from classpath.



    原因是用ant编译时通过eclipsejdt去编译的,是依赖eclipse或myeclipse里面的插件的,所以需要把eclipse或myeclipse的插件里面的某些jar文件放到ant安装目录的lib文件夹内
    在eclipse安装目录搜索jdt,找到
    org.eclipse.jdt.annotation_1.1.100.v20160418-1457.jar (注意:下滑杠后面的部分因安装版本不一样是不一样的,只要找下滑杠前面部分跟我写出来的一致就行)
    org.eclipse.jdt.annotation_2.1.100.v20170511-1408.jar
    org.eclipse.jdt.apt.core_3.5.50.v20170920-0950.jar
    org.eclipse.jdt.apt.ui_3.5.0.v20170505-1107.jar
    org.eclipse.jdt.compiler.apt_1.3.60.v20171129-1553.jar
    org.eclipse.jdt.compiler.tool_1.2.51.v20171122-1403.jar
    org.eclipse.jdt.core_3.13.101.v20180215-0725.jar
    org.eclipse.jdt.debug.ui_3.8.52.v20180104-1240.jar
    下图我红色圈出来的可能没有圈完全

    复制完成如下图

     复制完成之后再运行就ok了

    下面附上我的ant脚本:

    <?xml version="1.0" encoding="UTF-8"?>  
    <project name="BPP_JAR_Deploy" default="pack" basedir=".">  
        <property environment="env" />  
        <property name="webapp.name" value="BPP_JAR_Deploy" />  
        <property name="catalina.home" value="D:apache-tomcat-7.0.68" />  
        <property name="dist.dir" value="${basedir}/dist" />  
        <property name="ant.dir" value="C:apache-ant-1.10.3" />  
        <property name="webRoot.dir" value="${basedir}/WebRoot" />  
        <property name="src.dir" value="${basedir}/src" />  
        <!--<property name="config.dir" value="${basedir}/config" />-->  
        <property name="lib.dir" value="${basedir}/lib" />  
        <property name="build.dir" value="${basedir}/build" />  
        <!-- 使用eclipse jdt进行编译  -->  
        <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />   
      
        <!-- 初始化classpath依赖包 -->  
        <path id="project.classpath">  
            <fileset dir="${lib.dir}">  
                <include name="*.jar" />  
            </fileset>  
            <!-- 添加tomcat类路径 -->  
            <fileset dir="${catalina.home}/lib">  
                <include name="*.jar" />  
            </fileset>  
            <!-- ant lib包  -->  
            <fileset dir="${ant.dir}">  
                <include name="**/*.jar" />  
            </fileset>  
        </path>  
      
        <!-- get the source compile classpath in a printable form -->  
        <pathconvert pathsep="${line.separator}|   |-- "  
                 property="echo.path.compile"  
                 refid="project.classpath">  
        </pathconvert>  
          
        <!-- show classpath jars -->  
        <target name="print_classpath">  
            <echo message="|-- compile classpath"/>  
            <echo message="|   |"/>  
            <echo message="|   |-- ${echo.path.compile}"/>  
        </target>  
          
          
        <!-- 删除旧目录 -->  
        <target name="clear" description="删除旧文件">  
            <delete dir="${build.dir}" />  
            <delete dir="${dist.dir}" />  
            <delete file="${catalina.home}/webapps/${webapp.name}.war" />  
            <delete dir="${catalina.home}/webapps/${webapp.name}" />  
        </target>  
      
        <!-- 重新建目录 -->  
        <target name="init" depends="clear" description="初始化目录">  
            <mkdir dir="${build.dir}/classes" />  
            <mkdir dir="${dist.dir}" />  
        </target>  
      
        <!-- 编译java文件 -->  
        <target name="compile" depends="init" description="编译java文件">  
            <echo message="begin compile..." />  
            <javac srcdir="${src.dir}" destdir="${build.dir}/classes"   
                includeantruntime="false" nowarn="false"   
                source="1.6" target="1.6" deprecation="true" debug="true"    
                encoding="UTF-8" classpathref="project.classpath"   
                >  
                <compilerarg line="-Xlint:unchecked" />   
            </javac>  
            <copy todir="${build.dir}">  
                <fileset dir="${src.dir}">  
                    <include name="**/*.xml" />  
                    <include name="**/*.properties" />  
                    <include name="**/*.sql" />  
                </fileset>  
            </copy>  
            <echo message="end compile..." />  
        </target>  
      
        <!-- 编译后打jar包 -->  
           
            <target name="pack" depends="compile">   
                <jar jarfile="${build.dir}/${webapp.name}.jar">   
                    <fileset dir="${build.dir}/classes">   
                        <include name="**/*.class"/>   
                    </fileset>   
                </jar>   
            </target>    
    </project>
    
    
    晚生不才,请多指教!
  • 相关阅读:
    会计科目不能使用
    SAP提示为创建科目作为控制范围中成本要素
    创建成本要素
    拓端tecdat:R语言集成模型:提升树boosting、随机森林、约束最小二乘法加权平均模型融合分析时间序列数据
    拓端tecdat:R语言用贝叶斯线性回归、贝叶斯模型平均 (BMA)来预测工人工资
    拓端tecdat:数据评估三方科技公司开发人员能力
    拓端tecdat:R语言因子实验设计nlme拟合非线性混合模型分析有机农业施氮水平
    拓端tecdat:R语言主成分回归(PCR)、 多元线性回归特征降维分析光谱数据和汽车油耗、性能数据
    Go的异常处理 defer, panic, recover
    Android项目架构设计深入浅出
  • 原文地址:https://www.cnblogs.com/lkc-test/p/8822253.html
Copyright © 2011-2022 走看看