[英]Error when deploying web app on Glassfish
我正在使用Eclipse + Glassfish 4.0
當我部署一個簡單的項目時,出現以下錯誤:
cannot Deploy Testmart
deploy is failing=Error occurred during deployment: Exception while loading
the app : java.lang.IllegalStateException: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: java.lang.RuntimeException:
Servlet web service endpoint '' failure. Please see server.log for more details.
編輯:
ProductCatalog.java類:
import org.hamed.train.service.ProductServiceImp;
@WebService
public class ProductCatalog {
ProductServiceImp productService = new ProductServiceImp();
@WebMethod
public List<String> getProducts() {
return productService.getProductCategories();
}
public List<String> getProducts(String category) {
return productService.getProducts(category);
}
}
system.log
內容: http : //txs.io/B7P
根據@Silly Freak的評論,我找到了答案。
這兩個方法不應具有相同的名稱:
ProductCatalog.java
public List<String> getProducts() {
return productService.getProductCategories();
}
public List<String> getProducts(String category) {
return productService.getProducts(category);
}
解:
我將第一個方法的名稱更改為其他名稱,並像魅力一樣工作。
對我來說,問題是,我錯過了包含無參數構造函數或“ Product”類的問題。 當我包含no參數構造函數時,它起作用了。
注意:JAXB不需要arg構造函數來實例化該對象。
我有這個問題, glassfish在Linux環境中。 檢查您的$JAVA_HOME
,應將其設置為jdk
export JAVA_HOME=/usr/java/jdk1.7.0_55
/opt/glassfish4/glassfish/bin # echo $JAVA_HOME
/usr/java/jdk1.7.0_55
然后問題解決了..
我對Eclipse galileo也有同樣的問題,並且可以確定它與我的休眠映射有關,因為當我使用HBM文件對表進行新映射時,發布過程開始失敗,而在HBM文件中映射是正確的,但是問題出在我的DAO課堂上。
我的DAO類的示例代碼:-
public class MyDAO
{
private int id;
private int name;
private boolean isActive;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isActive() {
return isActive;
}
public void setActive(boolean isActive) {
this.isActive = isActive;
}
}
您可以看到boolean變量的getter和setter與其他兩個變量不同(所有的getter和setter都是由eclipse本身開發的)。 現在從框架的角度來看,它將使用一個屬性名稱,將其第一個字符更改為大寫,並附加一個get或set作為前綴,以調用該屬性的getter和setter。 因此,在布爾屬性的情況下,它將出錯。
因此,當我將現有的getter和setter更改為默認形式(如getIsActive()
和setIsActive()
,它已正確發布。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.