Definition
Excerpt |
---|
How to configure the classpath of the application without changing the container's own classpath |
Info |
---|
This feature is only available for local containers |
...
Note |
---|
This feature is not available on all containers! Currently, the only containers that support shared classpaths are:
On other containers, please change the container classpath instead. |
...
Starting a WAR on Tomcat 6.x with some additional classpath entries:
Code Block | ||||
---|---|---|---|---|
| ||||
LocalConfiguration configuration = new Tomcat6xStandaloneLocalConfiguration("target/tomcat6x");
Deployable war = new WAR("target/war/grails-example-without-libs.war");
configuration.addDeployable(war);
InstalledLocalContainer container = new Tomcat6xInstalledLocalContainer(configuration);
container.setHome("/srv/tomcat/catalina-home");
List<String> jars = new List<String>();
for (File jar : new File("/opt/grails").listFiles())
{
if (jar.isFile())
{
jars.add(jar.getAbsolutePath());
}
}
container.setSharedClasspath(jars.toArray());
container.start();
|
Example using the Ant
...
tasks
Starting a WAR on Tomcat 6.x with some additional classpath entries:
Code Block | ||||
---|---|---|---|---|
| ||||
<cargo containerId="tomcat6x" home="/srv/tomcat/catalina-home" action="start"> <sharedClasspath> <fileset dir="/opt/grails"> <include name="*.jar"/> </fileset> </sharedClasspath> <configuration home="target/tomcat6x"> <deployable type="war" file="target/war/grails-example-without-libs.war"/> </configuration> </cargo> |
Example using the Maven 3 Plugin
Configuring a Tomcat 6.x container with a com.foo
bar-api-1.0.jar
dependency provided using the shared classpath:
Code Block | ||||
---|---|---|---|---|
| ||||
[...]
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifactId>bar-api</artifactId>
<scope>provided</scope>
<version>1.0</version>
</dependency>
</dependencies>
[...]
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven3-plugin</artifactId>
<configuration>
<container>
<containerId>tomcat6x</containerId>
[...]
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifactId>bar-api</artifactId>
<classpath>shared</classpath>
</dependency>
</dependencies>
</container>
[...]
</configuration>
</plugin>
|