JBoss 4.3-yığınında paketlenmiş savaşlar, kavanozlar ve yapılandırma dosyaları (.properties files) içeren bir kulağın dağıtılmasında sorun yaşıyorum. İşte benim kulak yapısı şöyledir: Ben jboss-app.xml aşağıdaki gelmişJBoss: EAR'daki WAR dosyası sınıf yolunda JAR kitaplığını bulamıyor
+app.ear
+lib
*.jar libraries that the war's use
+classes
*.properties and other configuration files
+META-INF
application.xml
jbos-app.xml
app.war
app2.war
appn.war
:
<jboss-app>
<jmx-name>app.startup.JbossStartUpServer:service=JbossStartUpService</jmx-name>
</jboss-app>
Benim Application.xml şöyle görünür:
<application id="app_id">
<display-name>App>/display-name>
<description>TheApp>/description>
<!--
<module id="core">
<java>lib/core.jar</java>
</module>
<module id="tag">
<java>lib/tag.jar</java>
</module>
-->
<module id="app">
<web>
<web-uri>app.war</web-uri>
<context-root>/</context-root>
</web>
</module>
<module id="app2">
<web>
<web-uri>app2.war</web-uri>
<context-root>/app2</context-root>
</web>
</module>
<module id="appn">
<web>
<web-uri>appn.war</web-uri>
<context-root>/appn</context-root>
</web>
</module>
<security-role id="secRole">
<description>users</description>
<role-name id="appRoleName">users</role-name>
</security-role>
<library-directory>lib</library-directory>
</application>
Temelde, üzerine Kulağı dağıtarak, savaşlarımdan birinin core.jar
dosyasında (java.lang.NoClassDefFoundErro
r) bir sınıf bulamadığı bir sorunla karşılaşıyorum. Bunun sebebi, savaşın lib
klasör/sınıf yolunda olsa bile, bu kütüphaneyi bulamamasıdır. İlk parti kütüphaneleri (core.jar
ve tag.jar
), (onlar ki, ben yine umut lib/classes
yılında, şimdi, bulunduğu özellikler dosyalar artık bulunabilir aniden eklemek için ilk iki modülünü uncomment çalışırsanız onlar sınıf yükleyicisi tarafından alınırlar. İdeal olarak, dersleri kendi dizinine koymak ve onu ayrı olarak sınıf yoluna eklemek isterdim, ama şimdilik sadece bu işi yapmaya çalışıyorum).
el hiçbir başarının, savaşın manifest.mf
dosyaya core.jar
ekleyerek jboss-web.deployer
altında jboss-service.xml
dosyasında true UseJBossWebLoader
değişen ve yukarıdaki değişik kombinasyonları dahil olmak üzere bazı diğer şeyleri çalıştık. Ya sınıf yolundan (lib
klasörü) classes
dizinini kaybederim ve özellik dosyalarımdan hiçbiri kaldırılmaz veya savaş uygun sınıftan jar'dan erişemez. Bence yanlış olan bir konfigürasyon olmalı ve JBoss'un EAR dağıtımlarını ve sınıf yüklemesini okumaya çalışırken, mevcut kurulumuma uyarlayamıyorum.
Her türlü öneri çok takdir edilecektir.
Raible Designs JBoss ClassLoader Logic
Bunlar baktım sitelerin sadece birkaçı: İşte
baktığım edilmiş bazı siteleri bulunmaktadır. Sorunlar, projenin kurulumundan da kaynaklanabilir, çünkü bu, bir weblojiden Jboss'a (bir dereceye kadar) aktarılan büyük bir proje. Öyleyse, işe yarayacak bir şey varsa, ancak, bazı kod/proje yapılandırması ile ilgili bir sorun olabilir. Maalesef henüz JBoss ile ilgili bir problemin mi yoksa projeyle ilgili bir sorun mu olduğunu söyleyebilirim.application.xml
yılında
Bu sorunumu çözdü! Çok teşekkürler! Yine de bir takip sorusu sormak istiyorum: eğer bu modülleri application.xml dosyasına eklerseniz, bu, wars 'manifest.mf dosyalarındaki class-path özelliğine ihtiyacım olmadığı anlamına mı geliyor?Ya da jboss-web.deployer içinde UseJBossWebLoader özniteliğini true olarak ayarladığım halde bu durum geçerli midir? – Mike
Açık sorun hakkında emin değilim, kendim denemedim, her zaman varsayılan düzleştirilmiş classloader güveniyor. Biçimlendirmeye gelince, çekirdek/ön etiketleri kullanmayın, çok iyi çalışmıyorlar. Düzenleyicideki biçimlendirme simgelerini kullanın. – skaffman