Chartnexus.jnlp

Reference application is:

www-chartnexus-com/products/chartnexus.jnlp

This is a very old application that used to run on old linux operating systems flawlessly. It requires jre7 or 8 and iced tea web start to work.
I am not able to make it work on manjaro.

It installs, makes a desktop shortcut, downloads an update from chartnexus website, installs the update in the correct directory but I get the message
“Unable to execute chartnexus.jar”.

I have marked chartnexus.jar as executable and given it full permissions (rwx) by right clicking, yet does not work.

java -version returns the following:

openjdk version “1.8.0_345”
OpenJDK Runtime Environment (build 1.8.0_345-b01)
OpenJDK 64-Bit Server VM (build 25.345-b01, mixed mode)

Please help. Need to run this file urgently. Thanks.

What does :point_down: do?

java -jar /path/to/chartnexus.jar

Maycne,

Thank you for your response.

java -jar /path/to/chartnexus.jar  :heavy_check_mark:
Error: Unable to access jarfile /path/to/chartnexus.jar

However my problem is resolved.

The default java was “java-8-openjdk/jre” and it was giving the “unable to execute” error.

I changed the default java to “java-8-jre/jre” and ChartNexus is running! And running faster than its EXE equivalent runs on Windows10.

How I checked java and how I changed java is as follows, for anyone who may not know the process:

First I checked the java version as follows:

$ archlinux-java status

In my case the result, prior to change, was:

Available Java environments:
java-11-openjdk
java-17-openjdk
java-18-openjdk
java-19-jdk
java-8-jre/jre
java-8-openjdk/jre (default)
jre-jetbrains

Then I went to root and executed:

archlinux-java set java-8-jre/jre

And the default java was changed.

Chartnexus launched (using icedtea-webstart) when I tried it after this change, faster than its EXE equivalent does, in Windows10.

Icedtea was , at some point, giving me a parse error as well, and that too is somehow resolved now. I think it got resolved when I installed “community/haskell-appar 0.1.8-13” using YAY but it could also be because of the Icedtea version (and extras) that came along with Icedtea.

Attaching screenshot of the running software:

https:forum.manjaro.org/uploads/default/original/3X/0/6/06e8d91b8d58ec0a285bc44bada765ff1eb069be.png

![Screenshot_20221025_121958|690x431](upload://Z7JQJMZgbm4GWgNFLL0JdbPCii.png

But I am unable to install chartnexus.jnlp on an alternate machine with Manjaro , and nothing is working, so I don’t know what worked in the above case.

Would appreciate insights into how the above mentioned solution worked so that I can install chartnexus.jnlp on the second machine with Manjaro.

Thanks

It appears to be a commercial solution.

Talk to them about your problems - perhaps you need an up-to-date version of their software.

They don’t update it anymore, I need to run this file only.

It is running properly on one Manjaro installation (as I reported above)

On my second Manjaro installation (on a different machine of identical brand, configuration) , it is the same Manjaro version , but the jnlp is not working.

Icedtea webstart issue? Some extra parser required for this jnlp? It’s an old jnlp that was written in 2014-2016

Contents of the JNLP FILE:

```<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.5+"
	codebase="http://www.chartnexus.com/products/"
	href="chartnexus.jnlp">

<information>
	<title>ChartNexus</title>
	<homepage href="http://www.chartnexus.com/" />
	<vendor>ChartNexus Pte. Ltd.</vendor>
	
	<description>ChartNexus comes complete with a comprehensive list of popular indicators and offers 3 years of market data for free! Chart your success with ChartNexus today!</description>
	<description kind="short">Your Personal Charting Software</description>
	<description kind="tooltip">ChartNexus Charting Software</description>
	
	<icon href="cnx64.png"/> 
	
	<offline-allowed/>
	 <shortcut>
        <desktop/>
        <menu submenu="ChartNexus"/>
    </shortcut>
</information>

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

<update check="background" policy="prompt-run"/> 

<resources>
	<j2se version="1.5+" initial-heap-size="128M" max-heap-size="1024M" java-vm-args="-Dsun.java2d.d3d=false -Dsun.java2d.noddraw=true" />
	<jar href="http://www.chartnexus.com/products/jars/cnx_launcher_20140530_signed.jar" />
</resources>

<application-desc main-class="LauncherFrame">
</application-desc>

</jnlp>

The file is not the program itself - but a description file - with launcher information on location and arguments.

If they don’t support it - you will have to aquire the program file(s) by other means.

e.g. fetching the jar file using the url inside the description file.

1 Like

Yes I understand that. What is puzzling me is that IcedTea-Webstart is able to perfectly parse and execute the JNLP on one Manjaro installation and the entire program is working flawlessly.

However on the other (identical) Manjaro installation on identical hardware , IcedTea-webstart is not able to parse the JNLP and gives parse error.

Even the icedtea-web version on both machines is identical. The latest version.

What do you think could be the problem? What could be missing that is preventing icedtea-web from parsing the JNLP file on one machine, although it can parse and execute the same JNLP on the other machine?!

Could the parse error be because chartnexus.jar (the file pointed to by chartnexus.jnlp) is a signed JAR (signed by the company that created it) and although one machine is able to verify the JAR the other is not?

:point_down:

1 Like

Yes, maycne, I understand now the mistake I made while checking what you asked.

I have made some progress.

Do you want me to run “java -jar /path/to/chartnexus.jar” (with appropriate path on my machine of course)

Or would you give me your insight on this following post of mine without the above?

The forum is not allowing me to post links so I’m forced to post the link as follows:

https://forum.manjaro.org/t/chartnexus-jnlp/125100/9?u=vikram72

The contents of the JNLP I am referring to in the above link are listed in full detail in this post by me:

https://forum.manjaro.org/t/chartnexus-jnlp/125100/7?u=vikram72

Sorry, i pretty much skipped the following replies since then.
The point of executing commands manually is to try getting errors that would hint at what the issue is.


From what i read, JNLP is part of Java Web Start, which has been deprecated by Oracle, though IcedTea-Web may continue to implement it. If you do have IcedTed-Web in both machines, the different might be the version installed is different, the second one not supporting JNLP anymore.
There may be a way to manually “run” a JNLP from the terminal, but i don’t know the relevant options. You’ll need to read its manual to do so.

Also, as @linux-aarhus pointed, you may be able to receive support from the commercial editor. Even if they don’t update anymore, as long as they keep selling it, they should still be required to provide support for their products.
Or, considering the feature is deprecated upstream, you could find a different way to download the application.

1 Like

In any case - contact the developer(s) - they should be able to provide you with the necessary information to run the program.

It is highly possible they have taken precautions to protect their intellectual property by only providing a network based launcher thus securing their asset.

1 Like

It’s an old JNLP from 2014, last updated 2018 and no support available anymore, and though it (and it’s associated JAR file) are totally free, it is critical for my work.

Icedtea-web on both my machines is identical and installed using YAY on both.

Even the default java on both the machines is identical (Oracle jre8 - installed specifically for the JAR referred to by this JNLP, using YAY)

Both machines have the same Manjaro KDE Plasma, installed from the same USB stick.

Even the machines are identical, same brand, same model, same everything!

Yet Icedtea-web parses and executes the JNLP perfectly on machine-1 but on machine-2, it gives a fatal error, unable to parse. Bizarre!

It does not execute in the Terminal on the machine-2 either. The command is $ javaws filename.jnlp. Absurd looking errors.

But thanks for the help. My JNLP (and associated JAR) are working just fine on my machine-1 now.

If you want to give me any more insight for machine-2, I’d be delighted, else we can close this discussion,

Thanks