使 ANT Java 目标像 Java 命令一样工作

问题描述 投票:0回答:1

这些是我尝试在 Ant 中模拟的命令:

cd "../Reinforcement Learning Task Generator"
java -cp "bin;../Utilities/bin;../Reinforcement Learning/bin" edu.uky.ai.rl.Generate

它们按预期工作。

这是我的 Ant 构建文件:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE xml>
<project name="Builds" default="generate_rl">
    <target name="generate_rl">
        <java
            classname="edu.uky.ai.rl.Generate"
            dir="../Reinforcement Learning Task Generator"
            fork="true"
        >
            <classpath>
                <pathelement path="bin"/>
                <pathelement path="../Utilities/bin"/>
                <pathelement path="../Reinforcement Learning/bin"/>
            </classpath>
        </java>
    </target>
</project>

我收到“错误:无法找到或加载主类 edu.uky.ai.rl.Generate”

我做错了什么?

编辑:这也不起作用,有同样的错误。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE xml>
<project name="Builds" default="generate_rl">
    <target name="generate_rl">
        <java
            classname="edu.uky.ai.rl.Generate"
            dir="../Reinforcement Learning Task Generator"
            classpath="bin;../Utilities/bin;../Reinforcement Learning/bin"
            fork="true"
        >
        </java>
    </target>
</project>
java ant
1个回答
0
投票

问题似乎出在

dir
属性上。此配置有效,尽管看起来应该是等效的:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE xml>
<project name="Builds" default="generate_rl">
    <target name="generate_rl">
        <java
            classname="edu.uky.ai.rl.Generate"
            fork="true"
        >
            <classpath>
                <pathelement path="../Reinforcement Learning Task Generator/bin"/>
                <pathelement path="../Utilities/bin"/>
                <pathelement path="../Reinforcement Learning/bin"/>
            </classpath>
        </java>
    </target>
</project>
© www.soinside.com 2019 - 2024. All rights reserved.