当前位置: 首页 > 知识库问答 >
问题:

从命令运行ant脚本,发生错误:找不到类:org.eclipse.jdt.core.JDTCompilerAdapter

暴德运
2023-03-14

在我的java web项目中,有如下代码

后来,我知道它必须使用eclipse JDT进行编译。

而且,在eclipse中,ant脚本可以成功运行。这样跑步时:

右键单击“构建”。xml---

之后,ant可以在eclipse中成功运行。

但是,我想写一个。蝙蝠和。sh文件调用ant脚本,编译、war、部署和启动Tomcat。所以,ant应该从命令运行。我尝试了更多,错误总是发生:未找到类:org。日食jdt。果心JDTCompilerAdapter

另外,我已经将eclipse插件中关于JDT的jar文件复制到ant\u home/lib目录。

祝你回复。提前感谢!

建筑xml

`

<tstamp>
    <format property="build.time" pattern="yyyy-MM-dd" />
</tstamp>

<path id="project.classpath">
    <fileset dir="${lib.dir}">
        <include name="**/*.jar" />
    </fileset>
    <fileset dir="${catalina.home}/lib">
        <include name="*.jar" />
    </fileset>
    <fileset dir="${ant.dir}">
        <include name="**/*.jar" />
    </fileset>
</path>

<target name="clear">
    <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">
    <mkdir dir="${build.dir}/classes" />
    <mkdir dir="${dist.dir}" />
</target>

<target name="compile" depends="init">
    <echo message="begin compile..." />
    <javac srcdir="${src.dir}" destdir="${build.dir}/classes" 
        includeantruntime="false" nowarn="on" 
        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>
        <fileset dir="${config.dir}">
            <include name="**/*.xml" />
            <include name="**/*.properties" />
            <include name="**/*.sql" />
        </fileset>
    </copy>
    <echo message="end compile..." />
</target>

<target name="war" depends="compile">
    <echo message="begin war..." />
    <war destfile="${dist.dir}/${webapp.name}.war" basedir="${webRoot.dir}" 
        webxml="${webRoot.dir}/WEB-INF/web.xml">
        <lib dir="${lib.dir}" />
        <classes dir="${build.dir}/classes" />
        <fileset dir="${webRoot.dir}">
            <include name="***.*" />
        </fileset>
    </war>
    <echo message="end war..." />
</target>

<target name="deploy" depends="war">
    <echo message="begin deploy..." />
    <copy file="${dist.dir}/${webapp.name}.war"    todir="${catalina.home}/webapps" />
    <echo message="end deploy..." />
</target>

</project>

`

共有3个答案

尉迟兴修
2023-03-14

作为记录,我在使用<代码>

看起来编译器适配器jar暂时被锁定,线程类加载器或其他东西无法访问它。除了删除

越宣
2023-03-14

下载ecj*。来自Eclipse的jar并放在ANT_HOME/lib下。确保在shell环境下设置ANT\u HOME,否则应设置ecj*。外壳上的类路径中的jar。(否则,可能仍会抛出未找到的类:org.eclipse.jdt.core.JDTCompilerAdapter。)

叶德运
2023-03-14

不要将eclipse IDE中的ant用于命令行。

单独下载ant并将其解压缩到类似于windows的C:\apache\ant的地方,然后将其bin目录放在您的路径中。它将附带一些jar,这些jar也需要添加到您的类路径中。

对于Mac OSX,“sudo port install ant”负责一切。

 类似资料:
  • 我如何通过命令行运行它?

  • 我试图通过命令行运行testng,在类路径中有以下内容: testngjar,编译的测试用例文件的jar。testng。xml指向层次结构中的适当类。 在maven中,所有这些都可以正常工作,但在尝试从命令行运行时: 我得到以下错误: [TestNG][Error]在类路径:com中找不到类。公司Rest农场管理员测试 我做错了什么?

  • 无法从Git bash运行以下命令。我在错误以下; Git版本:Git版本2.28.0.Windows.1操作系统:Windows10

  • 接下来,我要创建我的.jar文件。我使用以下命令这样做: 然后,我尝试这样运行我的项目: 无论我尝试什么,我似乎都得到以下错误: 如何生成类文件会有问题吗?为了最初生成类文件,我执行了以下操作: 请让我知道我还应该尝试什么!谢谢。

  • 问题内容: 当我尝试从PyCharm IDE运行程序时,一切正常,但是如果我输入Fedora: 在shell提示中,我从1个模块收到导入错误。 当从IDE启动时,PyCharm可以执行哪些操作以使解释器找到我的依赖项?如何获得脚本以找到其依赖项,以便可以使用singe命令启动它? 问题答案: 有一些可能的原因可能导致这种情况: 相同的python解释器?检查与 它是同一工作目录吗?检查与 中的差异

  • 我正在使用Apache ANT运行我的webdriver脚本。我的项目结构如下: 而我的build.xml文件是: 现在,当我开始使用ant compile时,我得到了以下信息: [javac]正在将1个源文件编译到/home/abhijeet/automation_dev/automation_workspace/ant_webdriver_project/build[javac]/home/a