Works with Eclipse 2019-06 or later
How To Run the Testbed in Eclipse with Jetty 10
1) Install Jetty (download and unpack jetty-distribution or jetty-home)
The version of Jetty should match the jetty.version
property in the testbed POM (java-idp-testbed/pom.xml
)
The Jetty directory should be set as the jetty.home
system property in the Eclipse Launcher when running the testbed's Main.java, see Program Arguments below.
2) Clone the java-idp-testbed
, java-identity-provider
, and java-idp-jetty-base
source code repositories as peers in the same directory :
git clone git@git.shibboleth.net:java-idp-testbed git clone git@git.shibboleth.net:java-idp-jetty-base git clone git@git.shibboleth.net:java-identity-provider
2b) Optionally, clone additional source code repositories :
git clone git@git.shibboleth.net:java-support git clone git@git.shibboleth.net:spring-extensions git clone git@git.shibboleth.net:java-opensaml
3) Import projects into Eclipse : File > Import > Maven > Existing Maven Projects
4) Checkout the 10-testbed-eclipse
branch of java-idp-jetty-base
5) Assemble third party dependencies by building the IdP WAR and removing IdP JARs :
cd java-identity-provider/idp-war mvn clean package -DskipTests rm target/idp-war-*/WEB-INF/lib/idp-*.jar
Optionally remove additional JARs :
rm target/idp-war-*/WEB-INF/lib/java-support-*.jar rm target/idp-war-*/WEB-INF/lib/spring-extensions-*.jar rm target/idp-war-*/WEB-INF/lib/opensaml-*.jar
6) Download logging and testbed dependencies and add to the Jetty server classpath :
cd java-idp-jetty-base/src/main/resources/jetty-base java -jar $jetty.home/start.jar --create-files
7) Run the testbed in Eclipse as a Java Application :
In the idp-testbed
project, right-click on idp-testbed-jetty-10.launch > Run As > Java Application
8) Go to the testbed webapp :
https://localhost:8443/index.html
Issues
Logging
You will probably want to change the root logging level from DEBUG
to INFO
in idp-conf/src/test/resources/logback-test.xml
Example Eclipse Launcher
To create an Eclipse Launcher manually :
Use Eclipse Launcher "Program arguments" not "VM arguments"
Right-click on Main.java > Run As > Java Application
Eclipse Launcher program arguments :
Program Arguments
-Djetty.home=<path to jetty-home> -Didp.home=classpath: -Didp.webflows=classpath*:/flows -Djava.io.tmpdir=tmp
Eclipse Launcher working directory :
Working Directory
${workspace_loc:idp-jetty-base/src/main/resources/jetty-base}
Example Eclipse Launcher :