首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置一个蚂蚁任务以缩小javascript文件的困难

设置一个蚂蚁任务以缩小javascript文件的困难
EN

Stack Overflow用户
提问于 2012-12-11 04:32:24
回答 1查看 1.8K关注 0票数 1

在Netbeans 7.1.2和Ant 1.8.2中,我很难将YUI压缩器用作Ant任务。

当运行"minify“ant目标时,我得到以下错误:

代码语言:javascript
复制
taskdef class net.noha.tools.ant.yuicompressor.tasks.YuiCompressorTask cannot be found using the classloader AntClassLoader[]

缩小的蚂蚁目标看起来像:

代码语言:javascript
复制
<target name="minify">
   <!--${libs} is path to the downloaded jars -->
   <property
       name="yui-compressor.jar"
       location="${file.reference.yuicompressor-2.4.2.jar}" />
   <property
       name="yui-compressor-ant-task.jar"
       location="${file.reference.yui-compressor-ant-task-0.5.jar}" />

   <property
       name="YUIAnt.jar"
       location="${file.reference.YUIAnt.jar}" />

   <path id="task.classpath">
       <pathelement location="${yui-compressor.jar}" />
       <pathelement location="${yui-compressor-ant-task.jar}" />
       <pathelement location="${YUIAnt.jar}" />
   </path>



   <!-- yui-compressor task definition -->
   <taskdef
       name="yui-compressor"
       classname="net.noha.tools.ant.yuicompressor.tasks.YuiCompressorTask">

       <classpath refid="task.classpath" />
   </taskdef>


   <!-- invoke compressor -->
   <yui-compressor warn="false" charset="UTF-8" fromdir="${build.dir}" todir="${build.dir}">
       <include name="/Projects/netbeans/testproj/src/resources/insert-image-dialog.js" />
       <include name="/Projects/netbeans/testproj/src/resources/anotherjs.js" />
   </yui-compressor>

  </target>

我的Netbeans "project.properties“文件看起来像

代码语言:javascript
复制
dist.dir=dist
dist.jar=${dist.dir}/Dec102012.jar
dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath=
excludes=
file.reference.yui-compressor-ant-task-0.5.jar=/Users/someuser/Downloads/yui-compressor-ant-task-0.5/bin/yui-compressor-ant-task-0.5.jar
file.reference.YUIAnt.jar=/Users/someuser/Downloads/YUIAnt.jar
  file.reference.yuicompressor2.4.2.jar=/Users/someuser/Downloads/builder/componentbuild/lib/yuicompressor/yuicompressor-2.4.2.jar
includes=**
jar.compress=false
javac.classpath=\
    ${file.reference.yuicompressor-2.4.2.jar}:\
    ${file.reference.yui-compressor-ant-task-0.5.jar}:\
    ${file.reference.YUIAnt.jar}

此外,我尝试了以下几点:

代码语言:javascript
复制
jar -tvf yui-compressor-ant-task-0.5.jar 
 0 Thu Feb 25 02:15:32 EST 2010 META-INF/
102 Thu Feb 25 02:15:30 EST 2010 META-INF/MANIFEST.MF
 0 Thu Feb 25 02:15:30 EST 2010 net/
 0 Thu Feb 25 02:15:30 EST 2010 net/noha/
 0 Thu Feb 25 02:15:30 EST 2010 net/noha/tools/
 0 Thu Feb 25 02:15:30 EST 2010 net/noha/tools/ant/
 0 Thu Feb 25 02:15:30 EST 2010 net/noha/tools/ant/yuicompressor/
 0 Thu Feb 25 02:15:30 EST 2010 net/noha/tools/ant/yuicompressor/tasks/
 2993 Thu Feb 25 02:15:30 EST 2010      net/noha/tools/ant/yuicompressor/tasks/CompressionStatistics.class
  1611 Thu Feb 25 02:15:30 EST 2010 net/noha/tools/ant/yuicompressor/tasks/FileType.class
  2141 Thu Feb 25 02:15:30 EST 2010 net/noha/tools/ant/yuicompressor/tasks/YuiCompressorTask$1.class
  7265 Thu Feb 25 02:15:30 EST 2010 net/noha/tools/ant/yuicompressor/tasks/YuiCompressorTask.class
   175 Thu Feb 25 02:15:30 EST 2010 META-INF/INDEX.LIST

这很明显地证明了"YuiCompressorTask.class“的存在,这就是为什么我上面提到的错误是没有意义的。

我需要将jar文件添加到某个主页吗?目前,我只是将它们添加到正常的Netbeans类路径中,就像大多数项目一样。我猜Ant运行时使用的是完全不同的库路径?

EN

回答 1

Stack Overflow用户

发布于 2013-03-13 15:45:35

来自运行Apache

可以使用-lib选项添加要搜索的其他目录。-lib选项指定搜索路径。路径目录中的任何jars或类都将添加到Ant的类加载器中。将jars添加到类路径的顺序如下:

  • -lib jars按照命令行上的-lib元素指定的顺序
  • ${user.home}/..ant/lib中的jars (除非设置了-nouserlib )
  • 来自ANT_HOME/lib的jars
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13813682

复制
相关文章

相似问题

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