Tag: ant

找不到taskdef类org.apache.catalina.ant.InstallTask

在Eclipse中,我的build.xml有5个警告: taskdef class.org.apache.catalina.ant.InstallTask cannot be found taskdef class.org.apache.catalina.ant.ListTaskcannot be found taskdef class.org.apache.catalina.ant.ReloadTaskcannot be found taskdef class.org.apache.catalina.ant.StartTask cannot be found taskdef class.org.apache.catalina.ant.StopTask cannot be found 我已经设置了以下系统环境变量(Windows 7) ANT_HOME: C:\apache-ant-1.8.4 CATALINA_HOME: C:\apache-tomcat-7.0.29 JAVA_HOME: C:\Program Files\Java\jdk1.6.0_34 and have added %ANT_HOME%/bin to PATH 编辑:我还将catalina-ant.jar添加到C:\ apache-ant-1.8.4 \ lib中 代码的更多部分: 怎么了?

构建失败java.lang.OutOfMemoryError:Java堆空间

我在构建build.xml时遇到了这个问题。 BUILD FAILED java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:2786) at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94) at org.codehaus.cargo.module.DefaultJarArchive.(DefaultJarArchive. java:75) at org.codehaus.cargo.module.DefaultJarArchive.(DefaultJarArchive. java:56) at org.codehaus.cargo.module.webapp.DefaultWarArchive.(DefaultWarA rchive.java:69) at org.apache.cactus.integration.ant.CactifyWarTask.addJarWithClass(Cact ifyWarTask.java:652) at org.apache.cactus.integration.ant.CactifyWarTask.addCactusJars(Cactif yWarTask.java:627) at org.apache.cactus.integration.ant.CactifyWarTask.execute(CactifyWarTa sk.java:519) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav a:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:62) at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:197) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at […]

常春藤怎么样:发表作品?

我完全不知道ant任务常春藤:发布应该如何工作。 我希望我做正常的构建,创建一堆jar文件,然后我会将这些jar推送到(本地)存储库。 如何指定从哪里检索构建的jar,以及它们将如何最终存储在存储库中? 更新: Publish Local”> 这实际上有效,我之前没有包含检索。 但我仍然有一些问题,假设我想发布3个jar子,openscada-utils.jar,openscada-utils-sources.jar和openscada-utils-javadocs.jar作为openscada-utils-0.9.2.jar,openscada-utils -0.9.2-sources.jar和openscada-utils-0.9.2-javadocs.jar 我不完全清楚,实际的名字如何组合,以及我可以指定他们应该得到的名称。 (使用上面的片段,jar总是只调用utils.jar)。 更新1: 我让它工作(有点),但它仍然感觉不对。 不知何故,所有教程都关注第三方项目的依赖关系,但对我来说同样重要的一点是处理项目特定的依赖关系。 我有一堆子项目,它们以各种方式相互依赖。 考虑常春藤:发布我不清楚如何开始。 我该如何处理第一个版本? 我有一个共同的版本号用于所有子项目,以表明它们属于一起(假设为0.9)。 因此第一次修订应该是0.9.0,但到目前为止,我的项目中没有任何内容存在于我的存储库中。 如何让Ivy分配此修订号。 在开发过程中,我想再次发布构建的文件,而不更改到目前为止的版本号。 如果我完成了我的工作,我想将其推送到共享存储库(并将修订版号从0.9.0增加到0.9.1),建议的方法是什么? 对于实际的版本,我想制作具有依赖关系的发行版,但不知道,我想我可以使用不同的配置。 我怎样才能利用这个优势呢?

调用另一个ant脚本的ant脚本的奇怪行为,为什么?

我是Ant的新手(我来自Maven),我发现有很多问题要做以下操作。 我有一个名为CrystalIceGUI的主项目,它使用另一个名为ShellExtBridge的依赖项目。 依赖项目ShellExtBridge有一个自己的build.xml文件,用于编译项目并将其打包到一个名为Release的目录中的jar文件中 主项目CrystalIceGUI有一个build.xml ant文件,它包含一个名为init的目标,它试图执行ShellExtBridge依赖项目的build.xml文件来构建这个项目,然后在另一个目标中使用它的jar。 问题是如果我执行ShellExtBridge的build.xml ant脚本它运行良好并且jar文件正确地创建到其Release目录中(所以我认为这个ant脚本没问题)但是如果我从build.xml调用它主要项目,它给了我一系列的错误。 这是ShellExtBridge依赖项目的build.xml : 这是主项目CrystalIceGUI的build.xml文件的init目标: 如果我去执行这个ant脚本的init目标,我会得到以下错误: Buildfile: /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceGUI/Project/build.xml init: clean: [echo] Into ShellExtBridge build.xml clean target [delete] Deleting directory /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceGUI/Project/bin compile: [echo] Into ShellExtBridge build.xml compile target [mkdir] Created dir: /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceGUI/Project/bin [javac] /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/ShellExtBridge/Project/build.xml:37: warning: ‘includeantruntime’ was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 117 […]

junit的ant目标

我有Suite.java文件: public class EshopServiceTestSuite extends TestSuite { public static Test suite() { TestSuite suite = new TestSuite(); suite.addTestSuite(ImpactActionTypeTest.class); suite.addTestSuite(ProductServiceTest.class); return suite; } public static void main(String[] args) { TestRunner.run(EshopServiceTestSuite .class); } } ImpactActionTypeTest.java文件扩展了TestCase它工作正常。 但是ProductServiceTest.java 扩展ESWTestCase,实习生扩展TestCase,这会导致junit atrget失败。 java.lang.reflect.InvocationTargetException Caused by: java.lang.ExceptionInInitializerError at org.apache.log4j.Logger.getLogger(Logger.java:94) at com.bgc.ecm.core.test.ElNinoAbstractTestCase.<clinit>(ElNinoAbstractTestCase.java:62) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at com.bgc.EshopServiceTestSuite.suite(EshopServiceTestSuite.java:41) Caused by: sun.misc.InvalidJarIndexException: Invalid index at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:769) […]

将java库包含到自己的库中

我为自己创建了一个小框架,我希望在多个项目中使用它。 我还希望分布式jar文件包含所有外部库,以便我的项目只需要包含我的库来访问所有外部库。 我需要这个来简化更新外部库。 所以我把它放在我的build.xml中,它将dist / lib中的所有库添加到我自己的jar文件中。 但是当我尝试使用像“org.zkoss.zk.ui.Component”这样的外部库时,我得到了无法找到此库的错误。 有没有更好的方法将外部库包含到我自己的库中,以便我的项目可以使用它们?

当我的JAR在类路径上时,为什么Ant会说“NoClassDefFound”?

我使用的是Java 1.6,Eclipse和Ant。 以下是我创建jar文件并运行它的目标: 问题是当我运行这个jar(通过Ant或命令行)时,我收到错误: Exception in thread “main” java.lang.NoClassDefFoundError: net/xeoh/plugins/base/impl/PluginManagerFactory [java] at plugins.PluginLoader.(Unknown Source) 一些可能有用的知识: 当我打印我的类路径时,它显示所有必需的JAR都在那里; 它还显示了Eclipse的类路径的GUI版本。 我试过清理项目(通过Eclipse和Ant)无济于事。 似乎缺少的库.jar 不是 .jar中的.jar(这似乎是一个常见的问题)。 这是唯一的错误。 其他课程似乎找到了图书馆……

我怎样才能使用依赖于ivy导入的lib的Ant taskdef

我在build.xml中创建了一个taskdef,它依赖于一个驻留在Ivy导入的jar中的类。 我想知道是否有可能以任何方式,因为我的构建在启动之前中断,因为它无法找到taskdef的类。 这似乎是一个鸡蛋和鸡肉问题,因为我不能得到这个类,因为我必须首先解决我的依赖关系(这需要构建工作)。

ant exec任务错误代码= 3

我试图从ant目标调用bash脚本。 这是我的目标: 我的bash脚本是: #!/bin/bash DEST_FOLDER=’./target/checkstyle’ CLASSES_FILE=’classes.txt’ REPORT_FILE=’report.xml’ mkdir -p “$DEST_FOLDER” rm -f “$DEST_FOLDER/$CLASSES_FILE” rm -f “$DEST_FOLDER/$REPORT_FILE” find ./project -name “*.java” >> “$DEST_FOLDER/$CLASSES_FILE” while read p; do java -jar ./utilJars/checkstyle-6.5-all.jar -c ./sun_checks.xml -f xml $p >> “$DEST_FOLDER/$REPORT_FILE” done < $DEST_FOLDER/$CLASSES_FILE 键入./checkStyle时一切正常,但是当我尝试“ant report”时会出现以下错误: BUILD FAILED /home/luci/workspace/operations/build.xml:60: exec returned: 3 Total time: 4 seconds 我在谷歌搜索,该代码似乎是“permision否认”,但我不知道我怎么能解决这个问题。

使用包含$$字符的SQLExec执行文件

我使用pg_dump创建了一个sql转储文件。 此导出文件包含包含$$字符的函数。 使用psql -f 导入文件没问题。 如果想使用SQLExec任务使用ant导入文件,我会得到一个例外: org.postgresql.util.PSQLException: ERROR: syntax error at or near “$” 有没有办法导入包含$$的文件? 在postgres Log中,似乎SQLExec任务将$$转换为$导致错误。 错误:字符处的“$”处或附近的语法错误87语句:创建functionprocess_create_servicenumber()RETURNS触发器LANGUAGE plpgsql AS $ BEGIN IF(TG_OP =’DELETE’)然后返回旧 在这里我的方法 protected void importNewDbFromDumpFile() { final class SqlExecuter extends SQLExec { public SqlExecuter() { Project project = new Project(); project.init(); setProject(project); setTaskType(“sql”); setTaskName(“sql”); } } try { SqlExecuter executer = new […]