Tag: ant

如何在Ant build.xml中设置env变量

我想在build.xml目标中设置一个env变量 //now here i want to do something like setenv SIMV3.1 true 在我的java代码中,我想使用以下方法访问它: if(“true”.equals(System.getenv(“SIMV3.1”)){ //do something } 请建议。 我已经尝试了很多东西,但没有一个工作。另外,没有main()方法,因为框架是基于testng的,并且使用testNG调用测试用例。

Java9中的 ant任务是否已更改?

自从切换到Java 9后,我无法再使用该任务打包我的应用程序。 至少有两个问题: 似乎不再支持basedir属性 我的.iss文件,用于创建Windows可执行文件,可以找到更长的时间 我找不到任何文件表明有变化。 我的ant任务是: 任何帮助非常感谢。 具有basedir属性的输出是: C:\ SfnDevelopment \ trunk \ sfnLauncher \ build.xml:248:fx:platform不支持​​org.apache中org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:396)中的“basedir”属性.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:344)org.apache.tools.ant.UnknownElement.handleChild(UnknownElement.java:580)atg.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java) :349)org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:201)位于org.apache.tools.ant的org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)。 Task.perform(Task.java:347)org.apache.tools.ant.Target.execute(Target.java:390)atg.apache.tools.ant.Target.performTasks(Target.java:411)atg .apache.tools.ant.Project.executeSortedTargets(Project.java:1397)org.apache.tools.ant.Project.executeTarget(Project.java:1366)org.apache.tools.ant.helper.DefaultExecutor.executeTargets (DefaultExecutor.java:41)在org.apache.tool s.ant.Project.executeTargets(Project.java:1249)org.apache.tools.ant.Main.runBuild(Main.java:801)org.apache.tools.ant.Main.startAnt(Main.java: 218)org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)引起:类型没有不支持“basedir”属性。 at org.apache.tools.ant.IntrospectionHelper.setAttribute(IntrospectionHelper.java:402)at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:388)… 16更多 带有-verbose的ant的输出,没有basedir属性,是: 解析buildfile jar:file:/ C:/Program%20Files/Java/jdk-9/lib/ant-javafx.jar!/com/sun/javafx/tools/ant/antlib.xml,URL = jar:file:/ C:/Program%20Files/Java/jdk-9/lib/ant-javafx.jar!/com/sun/javafx/tools/ant/antlib.xml来自zip文件[macrodef]创建宏javafx:com.sun。 javafx.tools.ant:init-ant运行[C:\ Program Files \ Java \ jdk-9 \ bin \ java.exe,-version]运行[C:\ Program Files(x86)\ Inno Setup 5 \ iscc.exe ,/?]检测到[C:\ Program […]

如何杀死Ant启动的失控Java进程?

如果我从ant脚本启动一个分叉的java进程并杀死ant进程,它就不会杀死java进程。 无论是从IDE还是从命令行运行它都是这种情况。 有没有办法链接这些,以便杀死ant进程将杀死java进程? 我已经看到了以下问答 – 但这似乎集中在如何手动杀死java进程。 我不想这样做,因为我有许多其他java应用程序正在运行,并且在TaskManager中找到正确的java.exe进程并不总是直截了当。

在ant脚本中包含外部JAR时出错

这是我编写ANT脚本的第一次尝试。 这是我使用Spring的简单Hello World应用程序的build.xml。 当我尝试运行此时,将显示以下错误消息。 问题:无法创建任务或键入类路径原因:名称未定义。 行动:检查拼写。 操作:检查是否已声明任何自定义任务/类型。 操作:检查是否已发生任何/声明。 有人可以告诉我该怎么办? 我第一次运行ANT脚本时,生成了JAR文件。 当我再次尝试运行它时,它会给出下面提到的错误。 clean:[delete]删除目录F:\ shil \ JAVA \ Spring Workspace \ myfirstapp1 \ build compile: [echo] compiling [mkdir] Created dir: F:\shil\JAVA\Spring Workspace\myfirstapp1\build\classes [javac] Compiling 5 source files to F:\shil\JAVA\Spring Workspace\myfirstapp 1\build\classes [javac] F:\shil\JAVA\Spring Workspace\myfirstapp1\src\my\hello\servlet\Hello WorldServlet.java:4: package javax.servlet does not exist [javac] import javax.servlet.ServletException; [javac] ^ [javac] F:\shil\JAVA\Spring […]

Java相当于Ant的Java任务中的fork?

Ant Java任务提供了fork参数,根据定义“如果启用则触发另一个VM中的类执行” 。 当我们处理大量数据时,设置此参数可以使我们免于耗尽Java堆空间。 我们希望能够通过Java类做同样的事情。 实现fork提供的function的最佳方法是什么?

在Jar文件中运行ANT build.xml文件

我需要使用存储在jar文件中的build.xml文件来运行ANT构建。 此jar文件在类路径中可用。 是否可以这样做,而不会爆炸jar文件并将build.xml保存到本地目录? 如果是这样我怎么能这样做。 更新: jar文件是一个ant构建项目,其中classpath中的build.xml是使用ANT库通过java程序运行的。 前端是一个Web应用程序,它将此构建项目jar作为依赖项加载。 用户将单击“构建应用程序”按钮以​​运行ANT构建。 因此,当用户单击Build App时,我需要在jar中运行build.xml文件。 用于读取build.xml文件的代码 URL preBuildFileUrl = getClass().getClassLoader().getResource(“build.xml”); Project p = new Project(); p.setUserProperty(“ant.file”, preBuildFileUrl.toURI().getPath()); p.init(); ProjectHelper helper = ProjectHelper.getProjectHelper(); p.addReference(“ant.projectHelper”, helper); helper.parse(p, new File(preBuildFileUrl.toURI().getPath())); p.executeTarget(p.getDefaultTarget());

类路径问题:使用Maven Antrun插件运行ant java任务

当从maven ant run插件运行ant任务时,我可以将maven classpath设置为ant属性。 但是当我尝试运行<ant:java task setting这个确切的类路径时,我得到了无法找到引用的错误。 好像整个类路径被解释为一个jar。 有没有办法以某种方式将此类路径设置为ant java任务? (来自maven) maven-antrun-plugin …. …. (来自ant)…… … … maven ant run插件的版本是1.7 如果无法做到这一点,在ant中有一些方法来迭代这个类路径字符串(jar文件的位置带有’;’分隔符)并将jar位置的值设置为’

Eclipse中的java.lang.NoClassDefFoundError,但不包含Ant

我对一些Android项目和Eclipse有一个非常奇怪的问题。 我有许多Android项目都使用了大量相同的代码,因此将大量代码移动到Android库项目中。 在很长一段时间里,这对于三个应用程序来说效果很好。 今天,我也希望将这个库用于第四个应用程序,并遇到麻烦。 基本上情况如下: 库项目:包含一组活动以及一些实用程序类 新项目:在某种情况下实例化图书馆项目中的一项活动。 这应该都是微不足道的事情,我甚至在其他三个应用程序中完全相同的事情与完全相同的库项目完全相同的活动。 在新项目中,我在项目属性中引用了库项目,并将库项目中的活动添加到AndroidManifest.xml。 Eclipse现在认识到这一点,并让我参考活动。 一切都是好的。 应用程序运行正常,直到我执行从库项目启动活动的操作。 应用程序退出,logcat告诉我: FATAL EXCEPTION: main java.lang.NoClassDefFoundError: no.company.application.base.SomeDetailActivity at no.company.someotherapplication.SomeListActivity$4.onClick(SomeListActivity.java:466) at android.view.View.performClick(View.java:2538) at android.view.View$PerformClick.run(View.java:9152) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:3691) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) at dalvik.system.NativeStart.main(Native Method) 这是有趣的开始。 我知道库项目与.apk捆绑在一起,因为我从这个项目中运行了一些实用程序代码。 但是当从Ant编译这个确切的项目时,通过使用命令ant debug然后使用ant installd ,应用程序运行得很好,包括启动活动。 因此,完全相同的项目设置可以在Ant中运行,但不适用于Eclipse。 我尝试过通过谷歌搜索找到的技巧,比如清理所有项目,删除特定项目的.project和.classpath并重新生成它们。 通过将其与工作项目中的清单文件进行比较,我还确保了我的清单文件是正确的。 无论我做什么,我都会再次遇到这个问题。 由于它使用Ant编译和运行得很好,在我看来项目本身没有任何问题,但我真的需要能够通过Eclipse编译它。 […]

如何强制代码样式格式化作为构建的一部分?

有没有办法(使用ANT),可以自动重新格式化代码以遵循某些约定? 我有几个开发人员正在开发一个程序,并且希望保证代码格式在构建时在提交之前在所有类中变得一致

通过ant构建脚本将命令行参数传递给Java

在运行以下命令时: ant targetname -Dk1=v1 -Dk2=v2 我希望命令行参数传递给java ,比如java whatever -Dk1=v1 -Dk2=v2 。 我需要使用System.getProperty或System.getenv从Java代码访问这些参数。 我需要在我的ant构建脚本中编写什么来实现这一目标? 或者我应该采取其他方法吗?