Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!eternal-september.org!feeder.eternal-september.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Nigel Wade Newsgroups: comp.lang.java.programmer Subject: Re: How Do I Publish My Working Project (corresponding dot jar doesn't work on other's PCs) Date: Mon, 17 Sep 2012 10:10:39 +0100 Lines: 41 Message-ID: References: <08dcc4bb-ac13-4992-b576-1d4f51a28d2e@googlegroups.com> <83333a34-5a38-4199-a83b-db2c2c39658b@googlegroups.com> <734d3450-00d4-45cf-a760-f78a10613945@googlegroups.com> <84caa856-f49b-4ae3-8ae8-e7c5b6579b11@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net RyWPnFswIMg1JXYk+DQRpQJJCC88Q42fKVP+Ot2CfUgaHIqj/oom4du2Kr/TrRrAJR Cancel-Lock: sha1:9eUI0B/VcFKh6ELJuwJLrtGoDUg= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120421 Thunderbird/12.0 In-Reply-To: Xref: csiph.com comp.lang.java.programmer:18800 On 11/09/12 20:45, markspace wrote: > On 9/11/2012 11:08 AM, Lew wrote: >> markspace wrote: >>> To run, you use java -cp -jar >> >> The problem with that is that the command will ignore the "-cp" >> parameter. >> >> "-cp" and "-jar" is either/or proposition. >> > > > Yes I totally forgot about that. I guess I don't actually run java from > the command line very often. > > That leaves setting the classpath in the jar itself, which is kind of > tricky if you are going to be moving the jar to other people's > computers. Java WebStart and OneJar come in handy here. It's not tricky at all if you setup the correct type of NetBeans project, as I already said. NetBeans will do it all for you. There's no need to start messing with jar's, manifests or Ant. It's very often easier to re-create the project as a Java Application than it is to "fix" a broken one. With a NetBeans Java application all you need is the contents of the dist/ directory. The main project jar will have a properly constructed manifest to allow the jar to be executed with "java -jar project.jar". Dependency jar's will be in the dist/lib directory, and a Class-Path: entry in the manifest will include that directory. When you build the project NetBeans very helpfully tells you exactly how to run it: "To run this application from the command line without Ant, try: java -jar "/path/to/project/dist/project.jar". All you need to distribute to anyone else is the dist/ directory. There's even a clue in the name. -- Nigel Wade