Bu kurulumu birkaç günlüğüne çalıştırmaya çalışıyorum ama yine de şanssızım. MyFaces + CDI, WebLogic 12c'de kullanılabilir mi?
@Named
@RequestScoped
public class Test {
private String test = "test";
public String getTest() { return test; }
public void setTest(String test) { this.test = test; }
}
Ve jsf sayfasında
: Burada i kullanıyorum test uygulaması var<h:outputText value="#{test.test}"/>
MyFaces olmadan bu örnek çalışan iyi çalışıyor (olması gerektiği gibi "testi" kılan), ama ne zaman ı MyFaces'ı WAR dosyasına dağıtın ve weblogic.xml CDI içinde gerekli yapılandırmayı yapın CDI çalışmayı durdurur (veya en azından tümleştirme, on beş JSF ve CDI) ve çıktı html'de hiçbir şey görüntülenmez. MyFaces kendisi olsa iyi görünüyor. aşağıdaki gibi
Benim temel yapılandırma:
-
ben sadece dün geliştirme sürümü indirilebilir olarak sadece
- MyFaces emin olmak için güncel
- WebLogic Sunucusu 12c (12.1.1.0), yamalar olmalıdır
- org.apache.myfaces.webapp.StartupServletContextListener web.xml''deki tescil edilmiştir Beans.xml yer alıyor
- WebLogic Myf kullanmak üzere yapılandırılmış WEB INF içinde dağıtılan -2.1.10/kütüphaneleri weblogic.xml
Weblogic.xml içeriğini kullanarak aslar:
i şimdiye kadar öğrendiğim Ne<prefer-application-packages>
<package-name>javax.faces.*</package-name>
<package-name>com.sun.faces.*</package-name>
<package-name>com.bea.faces.*</package-name>
</prefer-application-packages>
<prefer-application-resources>
<resource-name>javax.faces.*</resource-name>
<resource-name>com.sun.faces.*</resource-name>
<resource-name>com.bea.faces.*</resource-name>
<resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</resource-name>
<resource-name>META-INF/services/com.sun.faces.spi.FacesConfigResourceProvider</resource-name>
</prefer-application-resources>
: Bu CDI uygulaması var olduğu
- WL12c kaynak ile donatılmıştır 1.1.3.
- JSF uygulamasını değiştirmeye karar verdiğinizde, JSF/CDI'yi kendiniz entegre etmekten sorumlu olduğunuz bir yeri (nerede olduğunu hatırlamıyorum) okuyorum. Bu doğru mu (emin değil)?
Sevdiğim şeyler şimdiye kadar denedim:
- bir şekilde bir araya Weld ve MyFaces tutkal umuduyla karışımı içine MyFaces CODI ekle ama öyle olmadı.
- Weld'i CDI uygulaması olarak OpenWebBeans ile değiştirin. Bu ilk başta çalışmak gibi görünüyordu ama bazı iç sun.reflection paketinde daha sonra her tür ilginç ClassCastExceptions verdi. Bu yine de kaçınmak istediğim bir çözüm.
- Web.xml ve faces-config.xml'deki çeşitli seçenekleri kullanarak Weld'i manuel olarak tetikleyin. Bu, Weld'in her türlü hata mesajıyla günlüğe akmasını sağlayan bir şey gibi görünüyor. Bir dereceye kadar bu weblogic daha yeni bir Weld sürümüne yükselterek "sabit" olabilir, ancak bunu her defasında bir sonraki hataya çarpıyorum. Yine, bu rotadan da kaçınmayı tercih ederim.
CDI desteğini korurken MyFaces'ı WL12c'de kullanmak gerçekten çok mu zor? Herhangi bir yardım için teşekkürler.
Bilginize: - CODI MyFaces herhangi başka şeyler bağımsızdır ve bu yüzden burada yardımcı olamaz. - Tam entegrasyonu kullanmak istiyorsanız, CDI 1.0 uygulama sunucuları belirli bir CDI uygulamasına (bir satıcının ve hatta belirli sürümlerin) bağlıdır. –
Kullanımı: com.sun.faces. * Package-name> , MyFaces-Core –
Ok.So kullanmak isterseniz, Weblogic kullanarak Weld 1.1.3 kullanarak kullanmayı tahmin etmiyor sonra? Bunu umursamıyorum, sadece MyFaces'i çalıştırmakla ilgileniyorum, ancak CDI entegrasyonunu bozmadan ilgileniyorum. Aslında, weblogic yığının kalanını tek başına bırakmayı tercih ederim. Com.sun.faces. * Paketleri hakkında, bunların myFaces dağıtımının bir parçası olmadığını tahmin ediyorum, bu yüzden onları weblogic.xml dosyasından kaldırırım (config aslında burada bulunan bir (daha eski) weblogic thread'a dayanıyordu: https://forums.oracle.com/forums/thread.jspa?threadID=2335546). Yine de, MyFaces'ı WL12'de kullanmanın ve bir şekilde Weld ile bütünleştirmenin mümkün olup olmadığı hala net değil. Herhangi bir ipucu? –