[英]Integrated ant - taskdef classloader issue
在 Weblogic 10.3 上,我的企業應用程序包含一個在內部運行 ant 腳本的 Web 服務。 我的問題是由於java.lang.ClassNotFoundExceptions
我無法運行我的自定義任務。
(所有這些在 Tomcat 5.5 上運行良好)
我的任務實現可以在 4 個不同的位置找到:
我看到Weblogic 10.3
集成Ant 1.6.5
模塊可能會導致問題,因為我捆綁了Ant 1.8.0
,所以我添加了
<prefer-application-packages>
<package-name>antlr.*</package-name>
<package-name>org.apache.ant.*</package-name>
<package-name>org.apache.zip.*</package-name>
</prefer-application-packages>
到我的 weblogic-application.xml 來克服這個問題。 (這解決了一些NoSuchMethodErrors
..)但是我的任務仍然沒有找到:
java.lang.ClassNotFoundException: foo.bar.MyTask.class
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:457)
at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:183)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:142)
at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:91)
你能幫我解決這個問題嗎?
The problem was that my prefer-application-packages directive was wrong, ant classes are not in org.apache.ant.*
but in org.apache.tools.ant.*
. 修復此問題后,我的自定義 class 從APP-INF/lib/antaddon.jar
加載並運行良好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.