Getting Started With Java

Basic Information

This project was developed, as the need arose, to develop and deploy software I've created and as a result, has only been developed as necessary. I develop until I can switch to another task, so it may seem like there are lots of little projects, however it ia actually just the start to one big .jar file. So if something doesn't work at present, you can always email and ask when I might be able to get to another aspect of it.

I agree that documentation should be as necessary or as convenient, as the developer should be able to explain themselves, as requested, and primarily to be helpful.

It has been developed with the intent of making software easier for the people that do it. So basically, you'd want to use it in conjunction with an IDE and your own custom tools, not instead of. I'm not trying to reinvent the wheel, just make it easier to do. It's just that code makes it so much easier, so knowing that should be 2nd in position after seeking God. That's my order. Sorry, not sorry.

This software is both open source, meaning anyone can contribute (the hope is you would get paid to contribute) and subscription based, so there is a fee, however it's very low at $10/year/machine and you may try the software out for a while (say 3 months) and see if it's something you want to use or not.

Although I try to make it right and well, please be aware, this is a Work-In-Progress. Effort can be determined using the Levenshtein distance on the backups or through a diff algorithm between two versions.This software may not work as intended or for a given task. You are always encouraged to review the code for yourself and make the necessary changes, if any, for your purpose.You can request features be added if you're not comfortable coding. You can simply request an addition to todo.txt in the default package for now, the ability to do it from the web is a new task.

Okay, so this isn't GitHub but I'll try to get it on there one of these days. For now, if you have changes that you think should be made, submit the .jar or link (preferably) and comments, to and follow up, as necessary.

At present, this package is primarily for developer use. Once 'Backup' is working, it should open up to all users of a computer and Internet. I'll try to use terms that someone could 'google' and achieve satisfactory results.

Directory Notation

You will notice that I trail directories with a File.separator. I do that In order to distinguish from a file or a directory, because if it doesn't end with a File.separator (/|\|\\), then it is a file, regardless of preceding dot or not.


Within the Launcher, the default package is listed first, as it is in Netbeans, then packages within the main project directory. The main project directory should be [user.home]\Documents\java, or [user.home]/Documents/java, where [user.home] is your 'home' directory. Mine, with my name being tim is /home/tim/ on Linux, /Users/tim/ on Mac and C:\Users\tim\ on Windows.

Files without a package name, such as ca.tecreations or com.example, are intended for most users, so I've placed those files in the default package. Some files a user may not want to use, for example, DoSSLExampleSetup or InstallRootChains. Some of the files are for developers and some are for general users. Editing on the fly, including the website are features to be developed, so there's lots of opportunity to contribute, be paid and be recognized.

The Installer and Launcher are located in the default package.

Data files, whether .properties, .ser, or graphics files are all contained within the most appropriate location. So images and serialization (.ser) files will typically be kept in package.appname.images. Properties files for a computer platform are contained within the folder of the project path, the install directory (typically /Users/<you>/Documents/java) or as referred to in the code: Global.getProjectPath(). If you installed to a directory other than the default, you will need to update the file to reflect the correct directory.

System Requirements and Options



Using the Main Launcher

On Windows, double clicking the downloaded signed-Deployed.jar will execute the main class Launcher program. On Mac, you need to right click on the .jar file and then click Open.

On all platforms you can also run it two different ways using the command line.

To run the Launcher, use the following command in the directory you downloaded signed-Deployed.jar:

java -jar signed-Deployed.jar

Alternatively, you may also run it with the ClassPathAgent like this:

java -javaagent:signed-cpa.jar -jar signed-Deployed.jar

Please note that running without the ClassPathAgent requires the application to re-launch itself in order to perform dependency injection. The use of signed-cpa.jar is recommended.

Installing Using the Main Launcher

Click on Installer, then click "Launch"

Click on "Install", select the directory [user.home]/Documents/java and click "OK".

The app will display a progress bar of completion (it will jump around). Once finished the Installer will exit.

At this point, you may run any application listed within the Launcher. Some (those listed below) will produce UI Frames (Like Launcher, Installer) and some will be for command line or IDE use only. This is where being able to read code is helpful.

Close the launcher and proceed to your IDE to make an existing project from the sources installed.

Prepping the IDE

Open your IDE, I'll be using Netbeans, so your steps may vary. If you can't figure it out, email me and I'll make a howto for your platform.

Complete Application Examples

Functional Application Samples

Current Target

I won't mention any of the other samples, except for that they are worthy, working examples of code and should be studied by the developer for their educational or experimental use only.


These documentation pages probably won't change much with the exception of Deploy, as JPackage is adopted.