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 Tomcat6 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-maven2maven3-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> |
...