javaBootcampNoEclipse/docs/javaBootcampNoEclipse.org
2017-08-12 20:38:08 +01:00

5.5 KiB
Raw Blame History

Dude! Where's my Eclipse!?

Dude! Where's my Eclipse

Pre-requisites

You will need a linux server with the following installed:

tomcat
This demo was prepare with tomcat-8.
tomcat manager
Used for deploying the your built application
A web browser
for accessing the tomcat manager
git
to access the project
a text editor
to fix any bugs you find (Not eclipse, because that's the whole point.)
java 8 JDK
to build code

If you develop on one machine and deploy to the other, then tomcat and tomcat manager are to be on the system you're deploying to, and the rest where you're developing.

If your development environment is not on the same server as the tomcat instance, you'll need a copy of the file tomcat8-servlet-api.jar on the same system as your java code.

Setting up

  1. All commands assume a Linux environment. ${HOME} refers to the home directory of the user, and ${DEV_HOME} refers to where the git repository has been cloned to.
  2. Get the code

    git clone https://gitlab.com/eibhear/javaBootcampNoEclipse.git
    

    The repository is now in ${DEV_HOME}. Change into it:

    export DEV_HOME=$(pwd)/javaBootcampNoEclipse
    cd ${DEV_HOME}
    
  3. Make sure you're at the starting point:

    git checkout lesson-1
    

Lesson 1 compile the code.

Starting point

A clean git working area

Goal

Java files compiled into class files

Steps

  1. Confirm you can access the java compiler:

    javac -version
    

    If this doesn't result in a message like javac 1.8.0_141, you'll need to find where javac installed and place it on your ${PATH}.

  2. Change to where the code is:

    cd ${DEV_HOME}/source/java/org/gibiris/javaBootcampNoEclipse
    
  3. Compile the files:

    javac *.java
    
  4. Check the errors. If you see the message error: package javax.servlet does not exist, then look at your CLASSPATH setting, as dependend libraries are missing.
  5. Fix your CLASSPATH and compile the java files:

    export CLASSPATH=/usr/share/java/tomcat8-servlet-api.jar:${CLASSPATH}
    javac *.java
    
  6. If the successful, you will have the following additional files:

    ${DEV_HOME}/source/java/org/gibiris/javaBootcampNoEclipse/MyHelloWorldBean.class
    ${DEV_HOME}/source/java/org/gibiris/javaBootcampNoEclipse/MyHelloWorldServlet.class
    

    If this is the case, move on to lesson 2:

    git checkout lesson-2
    

Lesson 2 build the jar file

Starting point

A clean git working area with two additional class files

Goal

Class files archived into a jar file

Steps

  1. Decide whether you want to include the source (*.java) files in the jar file
  2. Determine other files to be included in the jar file (e.g. config files, property files, etc.)
  3. Change to the top-level of the package in the source:

    cd ${DEV_HOME}/source/java
    

    Create the lib/ directory to take the jar file:

    mkdir -pv ../lib
    

    If you're not including the source files in the jar:

    jar cvf ../lib/javaBootcampNoEclipse.jar org/gibiris/javaBootcampNoEclipse/*.class
    

    If you are including the source files in the jar:

    jar cvf ../lib/javaBootcampNoEclipse.jar org/gibiris/javaBootcampNoEclipse/*
    
  4. If the successful, you will now have a new file:

    ${DEV_HOME}/source/lib/javaBootcampNoEclipse.jar
    

    If this is the case, move on to lesson 3:

    git checkout lesson-3
    

Lesson 3 build the war file

Starting point

A clean git working area with two additional class files and one additional jar file.

Goal

A deployable war file

Steps

  1. Review the following:

  2. Create an empty directory in ${DEV_HOME} called webapp, then its directory structure and then change into it:

    mkdir -vp ${DEV_HOME}/webapp
    mkdir -vp ${DEV_HOME}/webapp/WEB-INF/lib
    cd ${DEV_HOME}/webapp
    
  3. Copy in the jsps:

    cp -rv ${DEV_HOME}/source/jsps/* ${DEV_HOME}/webapp
    
  4. Copy in the jar file:

    cp -rv ${DEV_HOME}/source/lib/javaBootcampNoEclipse.jar ${DEV_HOME}/webapp/WEB-INF/lib
    
  5. Copy in the web.xml file:

    cp -rv ${DEV_HOME}/source/res/web.xml ${DEV_HOME}/webapp/WEB-INF
    
  6. Create the war file:

    jar cvf ${DEV_HOME}/source/lib/javaBootcampNoEclipse.war *
    
  7. If this was successful you will now have a new file:

    ${DEV_HOME}/source/lib/javaBootcampNoEclipse.war
    

    If this is the case, remove the direcory ${DEV_HOME}/webapp and move on to lesson 4:

    rm -fr ${DEV_HOME}/webapp
    git checkout lesson-4