首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ant执行java类文件?

如何使用ant执行java类文件?
EN

Stack Overflow用户
提问于 2022-09-21 09:22:22
回答 1查看 32关注 0票数 0

在尝试从apache目标执行java类时,我面临以下错误。

请注意,'javac‘命令工作正常,并创建DeploymentTracker.class文件。问题是'java‘命令。

我无法附加目录结构屏幕截图,所以将尝试解释下面的目录结构。

这里,

  1. 'ci‘是根目录。
  2. 构建文件'deploy-bpm.daa.xml‘文件路径是’ci/
  3. /application/Deploy-bpm.daa.xml‘。
  4. Java类文件路径是‘ci/trackDeploymentTracker.class’。
  5. Java代码包含包声明'package trackdeployment;
  6. 代码依赖于package trackdeployment;

目录结构:

蚂蚁目标:

代码语言:javascript
复制
<target name="update-deployment-details-in-db" description="Insert new or update existing entry in DB">
    <property file="${basedir}/../../target/artifact/${bpm.app.name}.properties"/>
    <propertyfile file="${basedir}/../../target/artifact/${bpm.app.name}.properties" comment="properties file for @{bpm-app-name} application">
        <entry key="Environment" value="${application.target.environment}"/>
    </propertyfile>
    <javac srcdir="${basedir}/../../trackdeployment" destdir="${basedir}/../../trackdeployment" classpath="${basedir}/../../lib/*.jar" debug="on" source="1.8" includeAntRuntime="false"/>
    <java classname="trackdeployment.DeploymentTracker">
        <arg value="${bpm.app.name}"/>
        <classpath>
            <pathelement location="${basedir}/../../lib/ojdbc8.jar"/>
            <pathelement path="${java.class.path}"/>
        </classpath>
    </java>
</target>

错误:

代码语言:javascript
复制
C:\code\myappv>ant -f ci/scripts/applications/deploy-bpm-daa.xml -Dapplication.target.environment=DEV -Dbpm.environment.name=BPMEnvironment -Dbpm.app.name=notifications update-deployment-details-in-db
Buildfile: C:\code\myappv\ci\scripts\applications\deploy-bpm-daa.xml

update-deployment-details-in-db:
[propertyfile] Updating property file: C:\code\myappv\ci\target\artifact\notifications.properties
    [javac] Compiling 1 source file to C:\code\myappv\ci\trackdeployment
     [java] Could not find trackdeployment.DeploymentTracker. Make sure you have it in your classpath
     [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:141)
     [java]     at org.apache.tools.ant.taskdefs.Java.run(Java.java:891)
     [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:231)
     [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
     [java]     at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
     [java]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
     [java]     at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(Method.java:498)
     [java]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
     [java]     at org.apache.tools.ant.Task.perform(Task.java:350)
     [java]     at org.apache.tools.ant.Target.execute(Target.java:449)
     [java]     at org.apache.tools.ant.Target.performTasks(Target.java:470)
     [java]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
     [java]     at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
     [java]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
     [java]     at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
     [java]     at org.apache.tools.ant.Main.runBuild(Main.java:818)
     [java]     at org.apache.tools.ant.Main.startAnt(Main.java:223)
     [java]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
     [java]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
     [java] Java Result: -1

BUILD SUCCESSFUL
Total time: 3 seconds

C:\code\myappv>

<echo message="Classpath set is ${java.class.path}"/>输出

代码语言:javascript
复制
[echo] Classpath set is C:\apps\apache\ant\lib\ant-launcher.jar;C:\apps\apache\ant\lib\ant-antlr.jar;C:\apps\apache\ant\lib\ant-apache-bcel.jar;C:\apps\apache\ant\lib\ant-apache-bsf.jar;C:\apps\apache\ant\lib\ant-apache-log4j.jar;C:\apps\apache\ant\lib\ant-apache-oro.jar;C:\apps\apache\ant\lib\ant-apache-regexp.jar;C:\apps\apache\ant\lib\ant-apache-resolver.jar;C:\apps\apache\ant\lib\ant-apache-xalan2.jar;C:\apps\apache\ant\lib\ant-commons-logging.jar;C:\apps\apache\ant\lib\ant-commons-net.jar;C:\apps\apache\ant\lib\ant-imageio.jar;C:\apps\apache\ant\lib\ant-jai.jar;C:\apps\apache\ant\lib\ant-javamail.jar;C:\apps\apache\ant\lib\ant-jdepend.jar;C:\apps\apache\ant\lib\ant-jmf.jar;C:\apps\apache\ant\lib\ant-jsch.jar;C:\apps\apache\ant\lib\ant-junit.jar;C:\apps\apache\ant\lib\ant-junit4.jar;C:\apps\apache\ant\lib\ant-junitlauncher.jar;C:\apps\apache\ant\lib\ant-launcher.jar;C:\apps\apache\ant\lib\ant-netrexx.jar;C:\apps\apache\ant\lib\ant-swing.jar;C:\apps\apache\ant\lib\ant-testutil.jar;C:\apps\apache\ant\lib\ant-xz.jar;C:\apps\apache\ant\lib\ant.jar;C:\Program Files\Java\jdk1.8.0_202\lib\tools.jar

你能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2022-09-21 14:25:25

花了一些时间在堆栈溢出,更新了我的蚂蚁目标如下,它现在正在工作.

做了以下改动:

  1. 在编译java代码.

之前开始删除.class文件

  1. 添加了名称为“app-lib-classpath”的路径,并在java任务.

中添加了相同的路径。

  1. 在java任务的类路径中添加了.class文件目录。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73798344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档