首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ant4eclipse复制eclipse项目的所有引用jars?

如何使用ant4eclipse复制eclipse项目的所有引用jars?
EN

Stack Overflow用户
提问于 2009-10-22 18:54:15
回答 1查看 3.1K关注 0票数 1

我尝试过这样(link):

代码语言:javascript
复制
<taskdef resource="net/sf/antcontrib/antlib.xml" />
<taskdef resource="net/sf/ant4eclipse/antlib.xml" />

<target name="copy_jars">
  <getEclipseClasspath workspace="${basedir}/.."
                       projectname="MyProject"
                       property="classpath"
                       relative="false"
                       runtime="true"
                       pathseparator="#" />

  <!-- iterate over all classpath entries -->
  <foreach list="${classpath}" delimiter="#"
    target="copy_jar_file" param="classpath.entry" />
</target>

<target name="copy_jar_file">
  <!-- check if current is a .jar-file ... -->
  <if>
    <isfileselected file="${classpath.entry}">
      <filename name="**/*.jar" />
    </isfileselected>
    <then>
      <!-- copy the jar file to a destination directory -->
      <copy file="${classpath.entry}" tofile="${dest.dir}"/>
    </then>
  </if>
</target>

但我得到了一个例外:

代码语言:javascript
复制
[getEclipseClasspath] net.sf.ant4eclipse.model.FileParserException: Could not parse plugin project 'E:\...\MyProject' since it contains neither a Bundle-Manifest nor a plugin.xml!
[getEclipseClasspath]  at net.sf.ant4eclipse.model.pdesupport.plugin.PluginDescriptorParser.parseEclipseProject(Unknown Source)
[getEclipseClasspath]  at net.sf.ant4eclipse.model.pdesupport.plugin.PluginProjectRoleIdentifier.applyRole(Unknown Source)
[getEclipseClasspath]  at net.sf.ant4eclipse.model.roles.RoleIdentifierRegistry.applyRoles(Unknown Source)
[getEclipseClasspath]  at net.sf.ant4eclipse.tools.ProjectFactory.readProjectFromWorkspace(Unknown Source)
[getEclipseClasspath]  at net.sf.ant4eclipse.tools.resolver.AbstractClasspathResolver.resolveEclipseClasspathEntry(Unknown Source)
[getEclipseClasspath]  at net.sf.ant4eclipse.tools.resolver.AbstractClasspathResolver.resolveProjectClasspath(Unknown Source)
[getEclipseClasspath]  at net.sf.ant4eclipse.tools.resolver.ProjectClasspathResolver.resolveProjectClasspath(Unknown Source)
[getEclipseClasspath]  at net.sf.ant4eclipse.ant.task.project.GetEclipseClassPathTask.resolvePath(Unknown Source)
[getEclipseClasspath]  at net.sf.ant4eclipse.ant.task.project.AbstractGetProjectPathTask.execute(Unknown Source)
[getEclipseClasspath]  at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[getEclipseClasspath]  at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
[getEclipseClasspath]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[getEclipseClasspath]  at java.lang.reflect.Method.invoke(Method.java:597)
[getEclipseClasspath]  at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
[getEclipseClasspath]  at org.apache.tools.ant.Task.perform(Task.java:348)
[getEclipseClasspath]  at org.apache.tools.ant.Target.execute(Target.java:357)
[getEclipseClasspath]  at org.apache.tools.ant.Target.performTasks(Target.java:385)
[getEclipseClasspath]  at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
[getEclipseClasspath]  at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
[getEclipseClasspath]  at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[getEclipseClasspath]  at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
[getEclipseClasspath]  at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
[getEclipseClasspath]  at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
[getEclipseClasspath]  at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)

BUILD FAILED
E:\...\build.xml:132: Exception whilst resolving the classpath of project MyProject! Reason: Could not parse plugin project 'E:\...\MyProject' since it contains neither a Bundle-Manifest nor a plugin.xml!

我不想只复制jars,而不是引用的项目。有没有一种方法可以参数化任务getEclipseClasspath,让它只获取jars,而不是项目?

EN

回答 1

Stack Overflow用户

发布于 2010-02-18 02:52:30

验证: 1.项目名的jars属性实际上是"MyProject“2. "MyProject”实际上是一个MyProject项目,并在构建路径中定义了条目3.您已经将Ant4Eclipse和AntContrib的jars添加到Ant-Runtime类路径: java Home Entries->"Add jars“(按钮)

如果仅从ant脚本引用Ant4Eclipse和AntContrib,那么您引用的示例代码将不起作用--必须将这些jars添加到Eclipse配置中的Ant运行时类路径中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1606426

复制
相关文章

相似问题

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