如何用Java打印构建目标?
假设我们有一个类PrintTarget,其中包含main 我们是否可以构建/编译,以使我们能够以某种方式在main中发送构建目标名称。当调用main时,它将打印构建目标名称 我不想在构建时使用目标名称。我们都知道怎么做。 我希望生成的JAR记住目标名称。 假设我们创建了jar printTarget.jar 并执行jar>java printTarget.jar 我希望此调用打印目标名称。听起来很奇怪 通常使用ant或maven构建。还是用埃克斯利普 但这超出了java代码的范围 因此,您可以在ant或maven脚本中打印构建目标 在Ant中:如何用Java打印构建目标?,java,ant,build,build-process,Java,Ant,Build,Build Process,假设我们有一个类PrintTarget,其中包含main 我们是否可以构建/编译,以使我们能够以某种方式在main中发送构建目标名称。当调用main时,它将打印构建目标名称 我不想在构建时使用目标名称。我们都知道怎么做。 我希望生成的JAR记住目标名称。 假设我们创建了jar printTarget.jar 并执行jar>java printTarget.jar 我希望此调用打印目标名称。听起来很奇怪 通常使用ant或maven构建。还是用埃克斯利普 但这超出了java代码的范围 因此,您可以在
<target name="jar">
<echo>Building target: ${target}</echo>
...
</target>
听起来很奇怪
通常使用ant或maven构建。还是用埃克斯利普
但这超出了java代码的范围
因此,您可以在ant或maven脚本中打印构建目标
在Ant中:
<target name="jar">
<echo>Building target: ${target}</echo>
...
</target>
要将数据从构建时传递到运行时,您需要将数据写入存储在JAR中的文件中,例如
<jar destfile="printTarget.jar">
<fileset dir="${classes.dir}" />
<manifest>
<attribute name="Main-Class" value="com.example.Main" />
</manifest>
<!-- This is just a way to create a zip entry from inline text in the build
file without having to <echo> it to a real file on disk first -->
<mappedresources>
<mergemapper to="com/example/buildinfo.properties"/>
<string encoding="ISO-8859-1"># this is a generated file, do not edit
targetname=custom-build-1
</string>
</mappedresources>
</jar>
要将数据从构建时传递到运行时,您需要将数据写入存储在JAR中的文件中,例如
<jar destfile="printTarget.jar">
<fileset dir="${classes.dir}" />
<manifest>
<attribute name="Main-Class" value="com.example.Main" />
</manifest>
<!-- This is just a way to create a zip entry from inline text in the build
file without having to <echo> it to a real file on disk first -->
<mappedresources>
<mergemapper to="com/example/buildinfo.properties"/>
<string encoding="ISO-8859-1"># this is a generated file, do not edit
targetname=custom-build-1
</string>
</mappedresources>
</jar>
你的意思是建立目标吗?在这个术语下你理解什么。我了解jar目标、编译目标、清理目标和java文档目标。都包含在生成系统/skcript中。在运行类(例如java PrintTarget buildtarget1)时,是否要打印参数?您的意思是生成目标吗?在这个术语下你理解什么。我了解jar目标、编译目标、清理目标和java文档目标。都包含在一个构建系统/skcript中。这是运行类时要打印的参数吗?例如java PrintTarget buildtarget1?我知道我们使用ant构建它。我在寻找的是,程序是否能够以某种方式记住它是在哪个目标下构建的?你想在ant构建时在控制台上打印目标吗?不,不。构建完成后,当调用生成的JAR时,我想打印目标。目标是构建过程中的一个步骤。构建的最终结果是一个或多个jar文件。它们通常不会在构建数据过程中被调用。运行应用程序时将调用它们。你想打印出正在运行的jar文件名吗?这就是你的意思吗?看看我在main中打印jat文件名的更新。我知道我们是用ant构建的。我在寻找的是,程序是否能够以某种方式记住它是在哪个目标下构建的?你想在ant构建时在控制台上打印目标吗?不,不。构建完成后,当调用生成的JAR时,我想打印目标。目标是构建过程中的一个步骤。构建的最终结果是一个或多个jar文件。它们通常不会在构建数据过程中被调用。运行应用程序时将调用它们。你想打印出正在运行的jar文件名吗?这就是你的意思吗?看看我在main中打印jat文件名的更新。回答得好。谢谢你的提示。这就是我要找的。回答得好。谢谢你的提示。这就是我要找的。
Build target was custom-build-1