Lunch Application via Java Web Start

I am going to use Java Web Start to distribute a Java application. The application includes two jar files: Client.jar and log4j-1.2.13.jar. When application starts up, error message displayed: Found unsigned entry in resource: http://localhost/JavaClient/ log4j-1.2.13.jar. The exception is: com.sun.deploy.net.JARSigningException.

The Java runtime is JRE 6. I don't have the source code of the Java application.



Here is jnlp codes:

<?xml version="1.0" encoding="utf-8"?>
<!--
###############################################################################
#
# Client.jnlp      1.6 02/09/11
#
# JNLP File for Java Client Application
#
###############################################################################
 -->
<jnlp
  spec="1.0+"
  codebase="http://localhost/JavaClient" href="Client.jnlp">

  <information>
    <title>Java Client</title>
    <vendor>MyCompany Inc.</vendor>
    <description>Java Web Client</description>

  </information>

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

  <resources>
    <j2se version="1.4+"/>
    <jar href="Client.jar"/>
    <jar href="log4j-1.2.13.jar" />
  </resources>

  <application-desc main-class="com.myCompany.Security.LogOn">
    <argument> -verbose</argument>
  </application-desc>
</jnlp>
dev_yinzAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

for_yanCommented:
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
dev_yinzAuthor Commented:
Following the instruction, I change the content of MANIFEST.MF. If Java Caching is enabled, I see the exception (I can "download" the log4j-1.2.13.jar from address so it shall not be access rights issue). If I disable Java Caching, signature exception happened again.

Exception:
com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://localhost/JavaClient/log4j-1.2.13.jar
      at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
      at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Wrapped Exception:
java.io.IOException: invalid manifest format
      at com.sun.deploy.cache.CacheEntry$9.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.deploy.cache.CacheEntry.writeFileToDisk(Unknown Source)
      at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source)
      at com.sun.deploy.cache.Cache.downloadResourceToCache(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
      at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
      at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)



Original MANIFEST.MF:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.4
Created-By: 1.3.1_16-b06 (Sun Microsystems Inc.)

Name: org/apache/log4j/
Implementation-Title: log4j
Implementation-Version: 1.2.13
Implementation-Vendor: "Apache Software Foundation"


After Change:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.4
Created-By: 1.3.1_16-b06 (Sun Microsystems Inc.)

Implementation-Title: log4j
Implementation-Version: 1.2.13
Implementation-Vendor: "Apache Software Foundation"
0
for_yanCommented:
I understood so that that whole thing (all four lines )
should be removed:

Name: org/apache/log4j/
Implementation-Title: log4j
Implementation-Version: 1.2.13
Implementation-Vendor: "Apache Software Foundation"

Don't know if I am correct
0
JavaScript Best Practices

Save hours in development time and avoid common mistakes by learning the best practices to use for JavaScript.

dev_yinzAuthor Commented:
I think log4j-1.2.13.jar is "unsigned" while Client.jar is signed by developer. I don't have source code, is there any way to "sign" the jar files? Or log4j-1.2.13.jar must be signed using the same private key as Client.jar?
0
for_yanCommented:
They are alos mentioing that some older Java version will work without this problem.
see here:
https://www.servoy.com/forum/viewtopic.php?f=6&t=14128


which Java 1.6 update are you using?
0
dev_yinzAuthor Commented:
It is verson 6 update 30. (build 1.6.0_30-b12). I cannot down grade the Java version. Otherwise, I have to configure a lot of clients and most of them are overseas. I will see if there is any possible to sign the log4j-1.2.13.jar.
0
for_yanCommented:
certainly you can try to sign, though it sounds a little bit funny but why not try:
http://docs.oracle.com/javase/1.3/docs/tooldocs/win32/jarsigner.html
0
for_yanCommented:
I think  this is also a good description of  jar sigining:
http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html
0
for_yanCommented:
you can also look at this trail if you encounter problems - it follows the siging process rather closely:
http://www.experts-exchange.com/Programming/Languages/Java/Q_27536681.html
0
dev_yinzAuthor Commented:
Thank you very much for the help. I will try to study these info. Anyway, I will close this thread first.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.