2012-07-20 11 views
5

Merhaba Java Web başlatıcısında bir sorunum var. Biz sürüm yani etkin bir JNLP yapılandırmasını hav:JNLP sürümüne sahip Java Web başlatıcısı Sertifika Sorunu

<property name="jnlp.versionEnabled" value="true"/> 

ve her kavanoz ör sürüm numaralarını kullanıyor:

<jar href="project.jar" version="2.5.7.0"/>.

Ayrıca uygulama kavanozlarımızı bir Maven Jar signer eklentisi kullanarak imzalıyoruz.

Şimdiye kadar söylediğiniz kadar iyi.

Her seferinde uygulamanın yeni sürümüyle JNLP dosyasını her jar için yeni sürüm sayılarıyla değiştiriyoruz (tüm jarlar sürümleri değiştirmiyor), ancak yukarıdaki proje örneğinde olduğu gibi bu sürüm numarasını söylüyor 2.5.7.0'dan 2.5.7.1'e arttırılmıştır. örneğin

<jar href="project.jar" version="2.5.7.1"/>.

kullanıcılarımız aşağıdaki hatayı alırsınız JNLP dosyası üzerinden yeni bir uygulama indirdiğinizde: Ben Webstart için ek DEBUG eklemiş ve Java Konsolu'na aşağıdaki hatayı bulduk

#### Java Web Start Error: 
#### JAR resources in JNLP file are not signed by same certificate 

:

security: Validating cached jar url=http://servername/lib/project_V2.5.7.1.jar ffile=C:\Documents and Settings\username\Application Data\Sun\Java\Deployment\cache\6.0\10\57344cca-719709af-2.5.7.1- [email protected] 
security: Have 0 common certificates after processing http://servername/lib/project.jar 
network: Remove cache entry: http:///lib/project__V2.5.7.1.jar 

Webstart, yeni sürüm/indirme işleminin bir parçası olduğu için, project_V2.5.7.1.jar adlı bir jar için yerel önbelleği denetlemeyi deniyor (var değil).

buna sertifikaları eşleşmiyor varsayar JAR bulamıyorum gibi - dolayısıyla hata: Bu Webstart hata olduğunu tahmin ediyorum

JAR resources in JNLP file are not signed by same certificate. 

! Webstart önbelleğini her sürümden önce el ile temizlememiz gerektiğinden, her kullanıcı için çok fazla acı veriyor.

Benzer bir sorun yaşayan var mı?

+0

Bu problemi çözmeyi başardınız mı? Ben tam olarak aynı şeyle karşılaştım –

cevap

1

Deneyimlerime dayanarak, sürüm numarası 2.5.7.0'dan 2.5.7.1'e yükselttiğinizde ve eski manifest girişini kaldırmadan tekrar jaru imzaladığınızda neler olabileceğini düşünüyorum. Kaynaklar aynı sertifika tarafından imzalanmamıştır. Yardımcı olabileceğiniz bir şey şudur:

Bu yardımcı olursa bana bildirin. Sorunuzun Başına

+0

Merhaba biz her zaman tekrar kavanozları yeniden imzalayın. Yani kavanozda eski bir manifesto dosyası yok - bu yüzden sorun bu değil ... – user1539726

0

"Eh biz her kavanoza (tüm kavanoz sürümlerini değiştirmek) için yeni sürüm numaralarıyla JNLP dosyasını değiştirmek uygulamanın yeni yayın yapmak her zaman"

Yani sürümü değişti diğer kavanozlar için de sayı?

Kavanoz dosyalarını imzalamak için yeni sertifika kullandığınızda, tüm jar dosyaları için sürüm numarasını değiştirmeniz gerekir, aksi halde aynı sürüm numarasına sahip ancak yeni sertifikayla imzalanmış olan jar dosyaları indirilmeyecek ve soruna neden olmayacaktır.

0

Ayrıca, jnlp dosyamda bulunan iki jar dosyasını da kavanozum için kullandığım aynı sertifikayla imzalamayı çözdüm.Yani, AFMTray.jariçin kullanılan cc-osx.jar ve aynı sertifika ile cc-windows.jar imzalı

<?xml version="1.0" encoding="utf-8"?> 
<jnlp spec="1.0+" codebase="http://10.37.177.100:8085/AFM/resources/client/" href="AFMTray.jnlp"> 
<information> 
    <title>AFMTray</title> 
    <vendor>andreagirardi.it</vendor> 
</information> 

<security> 
    <all-permissions /> 
</security> 

<resources> 
    <j2se version="1.4+" /> 
    <jar href="AFMTray.jar" /> 
    <property name="jnlp.versionEnabled" value="true"/> 
</resources> 

<resources os="Windows" arch="x86"> 
    <jar href="swt-windows.jar" /> 
</resources> 

<resources os="Mac\ OS\ X" arch="x86_64"> 
    <jar href="swt-osx.jar" /> 
</resources> 

<resources os="Mac\ OS\ X" arch="i386 x86"> 
    <jar href="swt-osx.jar" /> 
</resources> 

<application-desc main-class="com.afm.TryLuncher" /> 

<shortcut online="true"> 
    <desktop/> 
    <menu submenu="Esecuzione automatica"/> 
</shortcut> 

:

Bu benim jnlp dosyasıdır

İlgili konular