Hi,
I removed the log4jConfigLocation context-param from web.xml, so it
defaults to standard log4j config (same thing anyway).
Setting the log4j config via command line works fine now:
mvn -Dlog4j.configuration=log4j-console.properties -Pjetty
org.mortbay.jetty:maven-jetty6-plugin:1.0:run
Now I tried adding an equivalent system property to the jetty6 plugin
config (see http://jetty.mortbay.org/jetty6/maven-plugin/howto.html ):
profiles/profile/build/pluginManagement/plugins/plugin/
<configuration>
...
<systemProperties>
<systemProperty>
<name>log4j.configuration</name>
<value>log4j-console.properties</value>
</systemProperty>
</systemProperties>
</configuration>
But this results in the standard config file log4j.properties being
picked up. One explanation would be that log4j.configuration was set
before the plugin gets a shot at it (you can't override system
properties), but I'm quite sure it isn't me who set it.
Any ideas?
BTW, the docs mention "mvn jetty6:run", which won't work for me
either, but "mvn org.mortbay.jetty:maven-jetty6-plugin:1.0:run" does.
Thanks,
-Ralph.
On 22.11.2005, at 11:03, Ralph Pöllath wrote:
Hi,
The one thing that keeps me from using the jetty6 plugin instead of
tomcat for development is the log4j configuration for my spring
application.
As usual, the application expects log4j config in
classpath:log4j.properties. For use with jetty, I need a different
config file to be available at that location (log to console
instead of files), so I dropped this into my POM:
<profiles>
<profile>
<id>jetty</id>
<pluginRepositories ... />
<build>
<resources>
<resource>
<!-- include config for use with jetty
-->
<directory>src/jetty/resources</directory>
<includes>
<include>log4j.properties</include>
</includes>
</resource>
<resource>
<!-- exclude regulat config for use with
tomcat -->
<directory>src/main/resources</directory>
<excludes>
<exclude>log4j.properties</exclude>
</excludes>
</resource>
</resources>
<pluginManagement ... />
</build>
<dependencies ... oracle ... />
</profile>
</profiles>
The exclude stuff seems to work, but src/jetty/resources/
log4j.properties doesn't seem to be placed on the classpath:
Embedded error: Invalid 'log4jConfigLocation' parameter: class path
resource [log4j.properties] cannot be resolved to URL because it
does not exist
Jetty says
[INFO] Setting up classpath ...
:INFO: Checking Resource aliases
[INFO] Finished setting up classpath
Is it possible to somehow display the classpath for inspection?
I thought of filtering web.xml to manipulate the expected filename,
but I guess that won't work since the webapp directory is src/main/
webapp.
Thanks,
-Ralph.
On 03.11.2005, at 12:37, Jan Bartel wrote:
Hi Ralph,
I've linked the doco for the plugin onto the Jetty site. You can
go directly to it here:
http://jetty.mortbay.org/jetty6/maven-plugin/index.html
You can change where the plugin expects to find your webapp by
configuring the webAppSourceDirectory property.
Regarding the oracle jars, I'm not sure about this, but perhaps
you could use the <dependencies> associated with the <plugin>
tag to get them onto the runtime classpath?
cheers
Jan
Ralph Pöllath wrote:
Hi,
I'm impressed! By following your instructions, I got jetty to run
my webapp (using http://www.mortbay.org/maven2/snapshot as
mentioned by Greg - the old url did not work anymore).
Unfortunately, I didn't get very far because jetty doesn't know
about my oracle drivers. With tomcat, I keep those in $
{catalina.base}/ common/lib. I guess I could add them as
dependencies tom my project so they end up in WEB-INF/lib, but
then I could not deploy the war to tomcat anymore. Sounds like I
should have different maven profiles fot these scenarios? Or
does jetty look for additional jars in some location? That would
make it a lot easier..
I also noticed that jetty expects my webapp at ${dasedir}/src/
main/ webapp. Running mvn war:inplace works, but feels rather
clumsy. I adds files to src that aren't sources, and I have to
make sure I don't accidentally add them to svn.
Cheers,
-Ralph.
On 02.11.2005, at 19:31, Jan Bartel wrote:
Ralph,
Try putting the following in your pom.xml:
<pluginRepositories>
<pluginRepository>
<id>mortbay-repo</id>
<name>mortbay-repo</name>
<url>http://www.mortbay.org/maven2</url>
</pluginRepository>
</pluginRepositories>
I should have the site doco for the plugin linked into the
Jetty website in the next day. In the meanwhile, all you should
need to do is to add these plugin config
lines to your pom.xml:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty6-plugin</artifactId>
<configuration>
<scanIntervalSeconds>20</scanIntervalSeconds>
</configuration>
</plugin>
That will cause the plugin to keep running and scan for class/
lib changes every 20secs. You
can change it to whatever you prefer. There are also a couple
of other config options, but
that should get you going.
You can run it:
mvn org.mortbay.jetty:maven-jetty6-plugin:1.0:run
You can shorten that to:
mvn jetty6:run
but I'm not sure exactly how to do that other than as the
plugin developer (I followed the
instructions at http://maven.apache.org/maven2/guides/plugin/
guide- java-plugin-development.html).
Jason, is there any update on how we get the Jetty repository
mirrored to the central
Maven2 repository?
cheers
Jan
Ralph Pöllath wrote:
On 02.11.2005, at 16:55, Jan Bartel wrote:
Ralph,
Just a suggestion: if you want to run your webapp without
having to create a war first,
you could try the Jetty6 plugin. It is extremely lightweight, you
don't have to have any external config files for it, plus it
will automatically
hot-redeploy your webapp whenever you change any class files
or dependencies. You can
get it from scpexe://jetty.mortbay.org/home/ftp/pub/maven2.
Hi,
sounds great, but I can't figure out what to do with scpexe://
jetty.mortbay.org/home/ftp/pub/maven2. I tried creating a
pluginRepository in ~/.m2/settings.xml but can't get it to work.
Cheers,
-Ralph.
Ralph Pöllath wrote:
Hi,
I've successfully compiled and installed the tomcat plugin
from svn, and tomcat:deploy works as expected. Now I'm
wondering how to best use it.
For development, I'd like to avoid zipping up the war file
for each deployment. From gleaning at the source, I
learned this means deploying in local mode. I guess I have
to pass a parameter to the tomcat plugin, but I can't
figure out the parameter's correct name (I know, this
question is related to plugins in general, but I can't
find the documentation).
I tried
$ mvn -Dorg.apache.maven.plugins.maven-tomcat-
plugin.mode=local tomcat:deploy
and
$ mvn -Dorg.codehaus.mojo.tomcat.mode=local tomcat:deploy
but all I get is
[INFO] Deploying war remotely to /myProject on http://
localhost: 8080/ manager
which means I'm running in the default remote mode.
I also noticed there's a mode called inplace, that uses a
context.xml file to deploy to tomcat, and requires the war
plugin to run in exploded mode. What's the advantage of
using inplace (I assume you get to use a path different
from project.build.finalName?), and how do I configure the
war plugin?
How does everyone else use the tomcat plugin?
Thanks,
-Ralph.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]