Re: Tomcat Maven Plugin - Executable jar context loading and shutdown
Hi. On 31 August 2012 21:24, Olivier Lamy ol...@apache.org wrote: 2012/8/27 Sérgio juger.on.n...@gmail.com: Hi. I am trying to use the Tomcat Maven Plugin to create an executable jar file with an embedded Tomcat7, but I am having two issues when trying to do so. The first one, is that I am not getting how I can stop my executable jar. I want to run it in from a script (like the shutdown.sh/bat from tomcat). I was not able to find any documentation about that particular issue. nope not supported. Can you give me some pointers of where I should look at if I decide to implement it? I could kill the process but that does not look a solution but a workaround instead. The second issue, is that when I run my executable jar it loads my webapp context twice (it tries because it will not be able to do it as I use a derby db, and it will give an error when trying to have the lock again). It creates a folder .extract, and the webapp works fine, but I do not want my context to be loaded twice. I am using the configurations I have found here http://tomcat.apache.org/maven-plugin-2/executable-war-jar.html . What am I missing here? Do you have a sample project as I cannot reproduce. What is the content of .extract/webapps Did you try java- jar pathtoyourjar -resetExtract (or cleanup .extract directory before) ? After taking a look to the plugin source code, I understood that I cannot use / as context, and that is why I was having the context loaded twice (ROOT and .war). Is it supported by the plugin to have a webapp running with no context when trying to have an executable jar? I ask this question because when I try to use ROOT (path/ROOT/path), I do not have the / context but /ROOT instead. (Also after studying the lines 264-272 from http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java?view=markup ) Info about the project: - Maven project; - pom.xml with packaging war using the build found here http://tomcat.apache.org/maven-plugin-2/executable-war-jar.html ; - Running in Ubuntu 11.04; - Using: groupIdorg.apache.tomcat.maven/groupId artifactIdtomcat7-maven-plugin/artifactId version2.0-beta-1/version Thanks in advance. Best regards, Sérgio Areias -- Olivier Lamy Talend: http://coders.talend.com http://twitter.com/olamy | http://linkedin.com/in/olamy - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org Thanks for you reply and your attention. Best regards, Sérgio Areias
Re: Tomcat Maven Plugin - Executable jar context loading and shutdown
On 4 September 2012 09:26, Olivier Lamy ol...@apache.org wrote: 2012/9/3 Sérgio Areias juger.on.n...@gmail.com: Hi. On 31 August 2012 21:24, Olivier Lamy ol...@apache.org wrote: 2012/8/27 Sérgio juger.on.n...@gmail.com: Hi. I am trying to use the Tomcat Maven Plugin to create an executable jar file with an embedded Tomcat7, but I am having two issues when trying to do so. The first one, is that I am not getting how I can stop my executable jar. I want to run it in from a script (like the shutdown.sh/bat from tomcat). I was not able to find any documentation about that particular issue. nope not supported. Can you give me some pointers of where I should look at if I decide to implement it? I could kill the process but that does not look a solution but a workaround instead. The second issue, is that when I run my executable jar it loads my webapp context twice (it tries because it will not be able to do it as I use a derby db, and it will give an error when trying to have the lock again). It creates a folder .extract, and the webapp works fine, but I do not want my context to be loaded twice. I am using the configurations I have found here http://tomcat.apache.org/maven-plugin-2/executable-war-jar.html . What am I missing here? Do you have a sample project as I cannot reproduce. What is the content of .extract/webapps Did you try java- jar pathtoyourjar -resetExtract (or cleanup .extract directory before) ? After taking a look to the plugin source code, I understood that I cannot use / as context, and that is why I was having the context loaded twice (ROOT and .war). Is it supported by the plugin to have a webapp running with no context when trying to have an executable jar? I ask this question because when I try to use ROOT (path/ROOT/path), I do not have the / context but /ROOT instead. (Also after studying the lines 264-272 from http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java?view=markup ) Did you simply try: path/path :-) I have tried now, and the context was set to the artifact id. I also took a look to the source code and I think that it is the expected behaviour (defaultValue = ${project.artifactId}). Well, after a few more tests I found new info about my problem. I was trying to use my server.xml file, when I remove it everything works fine (except one thing but I will address it later on this mail), even with / as context (does not seem valid following line 107 of the AbstractExecWarMojo class but it is working). When I try to use the server.xml it loads the context twice. Why that happens, I do not know yet. I really do not need my custom server.xml, but when I do not use it the configuration port50001/port in my pom.xml is not reflected when I try to run the jar. It runs always in the port 8080 without my server.xml. NOTE: I have attached my server.xml. Thanks for your attention and sorry for the taken time. Best regards, Sérgio Areias Info about the project: - Maven project; - pom.xml with packaging war using the build found here http://tomcat.apache.org/maven-plugin-2/executable-war-jar.html ; - Running in Ubuntu 11.04; - Using: groupIdorg.apache.tomcat.maven/groupId artifactIdtomcat7-maven-plugin/artifactId version2.0-beta-1/version Thanks in advance. Best regards, Sérgio Areias -- Olivier Lamy Talend: http://coders.talend.com http://twitter.com/olamy | http://linkedin.com/in/olamy - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org Thanks for you reply and your attention. Best regards, Sérgio Areias -- Olivier Lamy Talend: http://coders.talend.com http://twitter.com/olamy | http://linkedin.com/in/olamy - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org ?xml version='1.0' encoding='utf-8'? !-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See
Re: Tomcat Maven Plugin - Executable jar context loading and shutdown
I have downloaded the project and tested it. Replicated a bit of the structure on my project and seems that now I am able to do it with the empty value on path. Why I can do it with the / anyway? Even with your project, I was not able to change the running port defining it in the pom.xml. Only when I use -httpPort 9090, for example, I am able to do it. The port tag needs some extra configuration, or its purpose it is not to define the running port, and being so I am using it in the wrong way. About the shutdown feature (my jar is running as a service so I cannot just hit Ctrl+C to stop it), can you give me some pointers of where I should begin if I want to do it (any class for that purpose, etc.)? Thanks for the quick answer Olivier Lamy, and thanks for your attention. I am really enjoying this learning process :) Best regards, Sérgio Areias On 4 September 2012 16:43, Olivier Lamy ol...@apache.org wrote: A bit weird. Can you have a look at this project which works fine with empty path https://github.com/olamy/tomcat-foo-artifact 2012/9/4 Sérgio Areias juger.on.n...@gmail.com: On 4 September 2012 09:26, Olivier Lamy ol...@apache.org wrote: 2012/9/3 Sérgio Areias juger.on.n...@gmail.com: Hi. On 31 August 2012 21:24, Olivier Lamy ol...@apache.org wrote: 2012/8/27 Sérgio juger.on.n...@gmail.com: Hi. I am trying to use the Tomcat Maven Plugin to create an executable jar file with an embedded Tomcat7, but I am having two issues when trying to do so. The first one, is that I am not getting how I can stop my executable jar. I want to run it in from a script (like the shutdown.sh/bat from tomcat). I was not able to find any documentation about that particular issue. nope not supported. Can you give me some pointers of where I should look at if I decide to implement it? I could kill the process but that does not look a solution but a workaround instead. The second issue, is that when I run my executable jar it loads my webapp context twice (it tries because it will not be able to do it as I use a derby db, and it will give an error when trying to have the lock again). It creates a folder .extract, and the webapp works fine, but I do not want my context to be loaded twice. I am using the configurations I have found here http://tomcat.apache.org/maven-plugin-2/executable-war-jar.html . What am I missing here? Do you have a sample project as I cannot reproduce. What is the content of .extract/webapps Did you try java- jar pathtoyourjar -resetExtract (or cleanup .extract directory before) ? After taking a look to the plugin source code, I understood that I cannot use / as context, and that is why I was having the context loaded twice (ROOT and .war). Is it supported by the plugin to have a webapp running with no context when trying to have an executable jar? I ask this question because when I try to use ROOT (path/ROOT/path), I do not have the / context but /ROOT instead. (Also after studying the lines 264-272 from http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java?view=markup ) Did you simply try: path/path :-) I have tried now, and the context was set to the artifact id. I also took a look to the source code and I think that it is the expected behaviour (defaultValue = ${project.artifactId}). Well, after a few more tests I found new info about my problem. I was trying to use my server.xml file, when I remove it everything works fine (except one thing but I will address it later on this mail), even with / as context (does not seem valid following line 107 of the AbstractExecWarMojo class but it is working). When I try to use the server.xml it loads the context twice. Why that happens, I do not know yet. I really do not need my custom server.xml, but when I do not use it the configuration port50001/port in my pom.xml is not reflected when I try to run the jar. It runs always in the port 8080 without my server.xml. NOTE: I have attached my server.xml. Thanks for your attention and sorry for the taken time. Best regards, Sérgio Areias Info about the project: - Maven project; - pom.xml with packaging war using the build found here http://tomcat.apache.org/maven-plugin-2/executable-war-jar.html ; - Running in Ubuntu 11.04; - Using: groupIdorg.apache.tomcat.maven/groupId artifactIdtomcat7-maven-plugin/artifactId version2.0-beta-1/version Thanks in advance. Best regards, Sérgio Areias -- Olivier Lamy Talend: http://coders.talend.com http://twitter.com/olamy | http://linkedin.com/in/olamy - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h