[英]Error creating WSDL file from java class using “ant generate.wsdl” in Apache Axis2
我是Web服務和AXIS2的新手。
我在C:\\ Apache \\ axis2-1.6.2-bin中下載並安裝了axis2-1.6.2-bin.zip,我按照http://axis.apache.org/axis2/java/core/docs/quickstartguide中的說明進行操作.html生成WSDL文件。 即在C:\\ Apache \\ axis2-1.6.2-bin \\ axis2-1.6.2 \\ samples \\ quickstart目錄中,我運行了generate.wsdl
我收到錯誤消息:“ org.apache.commons.logging.LogConfigurationException:無效的類加載器層次結構。您看到多個版本的'org.apache.commons.logging.Log',這是不允許的。”
我搜索了系統,發現唯一包含'org.apache.commons.logging.Log'類的jar在C:\\ Apache \\ axis2-1.6.2-bin \\ axis2-1.6.2 \\ lib \\ commons-logging中-1.1.1.jar。 您知道導致此錯誤的原因以及如何解決此問題嗎? 有什么解決的辦法嗎?
您引用的Jira鏈接與Maven相關,因此不相關。 我懷疑您的問題與您的ANT環境有關。
您是否將罐子放在以下位置之一?
這些將自動添加到您的類路徑中,並可能導致此報告的類沖突。 研究類路徑問題的一個好方法是在調試和/或診斷模式下運行ANT。
ant generate.wsdl -diagnostics
將包括有關ANT裝載哪些罐子和在哪里裝載的報告。
使用ANT 1.9.0
$ ant -version
Apache Ant(TM) version 1.9.0 compiled on March 5 2013
我從下載的axis2發行版中提取了quickstart項目
$ cp -r $AXIS2_HOME/samples/quickstart .
$ tree
.
└── quickstart
├── build.xml
├── README.txt
├── resources
│ └── META-INF
│ └── services.xml
└── src
└── samples
└── quickstart
└── service
└── pojo
└── StockQuoteService.java
運行
$ ant -f quickstart/build.xml generate.wsdl -DAXIS2_HOME=$AXIS2_HOME
Buildfile: /home/mark/tmp/quickstart/build.xml
compile.service:
[mkdir] Created dir: /home/mark/tmp/quickstart/build
[mkdir] Created dir: /home/mark/tmp/quickstart/build/classes
[javac] /home/mark/tmp/quickstart/build.xml:42: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 1 source file to /home/mark/tmp/quickstart/build/classes
[javac] Note: /home/mark/tmp/quickstart/src/samples/quickstart/service/pojo/StockQuoteService.java uses unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
generate.wsdl:
[java2wsdl] log4j:WARN No appenders could be found for logger (org.apache.axis2.util.Loader).
[java2wsdl] log4j:WARN Please initialize the log4j system properly.
BUILD SUCCESSFUL
Total time: 2 seconds
產生預期的文件
$ tree
.
├── build
│ └── StockQuoteService.wsdl
└── quickstart
├── build
│ └── classes
│ └── samples
│ └── quickstart
│ └── service
│ └── pojo
│ └── StockQuoteService.class
├── build.xml
├── README.txt
├── resources
│ └── META-INF
│ └── services.xml
└── src
└── samples
└── quickstart
└── service
└── pojo
└── StockQuoteService.java
ANT調試輸出顯示正在使用的AXIS2 commons-logging jar:
$ ant -f quickstart/build.xml generate.wsdl -DAXIS2_HOME=$AXIS2_HOME -debug | grep "org/apache/commons/logging"
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogConfigurationException.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory$6.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/WeakHashtable.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory$1.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/WeakHashtable$Referenced.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/WeakHashtable$WeakKey.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory$4.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory$3.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory$2.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/LogFactoryImpl.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/LogFactoryImpl$2.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/LogFactoryImpl$1.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/Log4JLogger.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/Log.class
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.