You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ol...@apache.org on 2013/11/06 02:31:26 UTC
svn commit: r1539209 -
/tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
Author: olamy
Date: Wed Nov 6 01:31:25 2013
New Revision: 1539209
URL: http://svn.apache.org/r1539209
Log:
[MTOMCAT-211] The .war file is not extracted from executable war
Modified:
tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
Modified: tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java?rev=1539209&r1=1539208&r2=1539209&view=diff
==============================================================================
--- tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java (original)
+++ tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java Wed Nov 6 01:31:25 2013
@@ -560,28 +560,35 @@ public class Tomcat7Runner
InputStream inputStream = null;
try
{
+ File expandFile = null;
inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream( entry.getValue() );
if ( !useServerXml() )
{
if ( entry.getKey().equals( "/" ) )
{
- File expandFile = new File( extractDirectory, "webapps/ROOT.war" );
- debugMessage( "expand to file:" + expandFile.getPath() );
- expand( inputStream, expandFile );
+ expandFile = new File( extractDirectory, "webapps/ROOT.war" );
}
else
{
- File expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
- debugMessage( "expand to file:" + expandFile.getPath() );
- expand( inputStream, expandFile );
+ expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
}
}
else
{
- File expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
- debugMessage( "expand to file:" + expandFile.getPath() );
- expand( inputStream, new File( extractDirectory, "webapps/" + entry.getValue() ) );
+ expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
}
+
+ debugMessage( "expand to file:" + expandFile.getPath() );
+
+ // MTOMCAT-211 ensure parent directories created
+
+ if ( !expandFile.getParentFile().mkdirs() )
+ {
+ throw new Exception( "FATAL: impossible to create directories:" + expandFile.getParentFile() );
+ }
+
+ expand( inputStream, expandFile );
+
}
finally
{
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r1539209 - /tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
Posted by Olivier Lamy <ol...@apache.org>.
fixed.
Thanks for review.
On 7 November 2013 17:56, Konstantin Kolinko <kn...@gmail.com> wrote:
> 2013/11/6 <ol...@apache.org>:
>> Author: olamy
>> Date: Wed Nov 6 01:31:25 2013
>> New Revision: 1539209
>>
>> URL: http://svn.apache.org/r1539209
>> Log:
>> [MTOMCAT-211] The .war file is not extracted from executable war
>>
>> Modified:
>> tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
>>
>> Modified: tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
>> URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java?rev=1539209&r1=1539208&r2=1539209&view=diff
>> ==============================================================================
>> --- tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java (original)
>> +++ tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java Wed Nov 6 01:31:25 2013
>> @@ -560,28 +560,35 @@ public class Tomcat7Runner
>> InputStream inputStream = null;
>> try
>> {
>> + File expandFile = null;
>> inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream( entry.getValue() );
>> if ( !useServerXml() )
>> {
>> if ( entry.getKey().equals( "/" ) )
>> {
>> - File expandFile = new File( extractDirectory, "webapps/ROOT.war" );
>> - debugMessage( "expand to file:" + expandFile.getPath() );
>> - expand( inputStream, expandFile );
>> + expandFile = new File( extractDirectory, "webapps/ROOT.war" );
>> }
>> else
>> {
>> - File expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
>> - debugMessage( "expand to file:" + expandFile.getPath() );
>> - expand( inputStream, expandFile );
>> + expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
>> }
>> }
>> else
>> {
>> - File expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
>> - debugMessage( "expand to file:" + expandFile.getPath() );
>> - expand( inputStream, new File( extractDirectory, "webapps/" + entry.getValue() ) );
>> + expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
>> }
>> +
>> + debugMessage( "expand to file:" + expandFile.getPath() );
>> +
>> + // MTOMCAT-211 ensure parent directories created
>> +
>> + if ( !expandFile.getParentFile().mkdirs() )
>> + {
>> + throw new Exception( "FATAL: impossible to create directories:" + expandFile.getParentFile() );
>> + }
>
> The above mkdirs() call returns "false" if those directories already exist.
>
> Can webappWarPerContext.entrySet() contain several wars? If so then I
> expect the code to throw the above exception when processing the
> second war.
>
> In Tomcat such code is usually written like this:
> quoting from o.a.c.core.StandardContext
> [[[
> if (!dir.mkdirs() && !dir.isDirectory()) {
> log.warn(sm.getString("standardContext.workCreateFail", dir,
> getName()));
> }
> ]]]
>
>> +
>> + expand( inputStream, expandFile );
>> +
>> }
>> finally
>> {
>>
>
> Best regards,
> Konstantin Kolinko
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
--
Olivier Lamy
Ecetera: http://ecetera.com.au
http://twitter.com/olamy | http://linkedin.com/in/olamy
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r1539209 - /tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
Posted by Konstantin Kolinko <kn...@gmail.com>.
2013/11/6 <ol...@apache.org>:
> Author: olamy
> Date: Wed Nov 6 01:31:25 2013
> New Revision: 1539209
>
> URL: http://svn.apache.org/r1539209
> Log:
> [MTOMCAT-211] The .war file is not extracted from executable war
>
> Modified:
> tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
>
> Modified: tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
> URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java?rev=1539209&r1=1539208&r2=1539209&view=diff
> ==============================================================================
> --- tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java (original)
> +++ tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java Wed Nov 6 01:31:25 2013
> @@ -560,28 +560,35 @@ public class Tomcat7Runner
> InputStream inputStream = null;
> try
> {
> + File expandFile = null;
> inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream( entry.getValue() );
> if ( !useServerXml() )
> {
> if ( entry.getKey().equals( "/" ) )
> {
> - File expandFile = new File( extractDirectory, "webapps/ROOT.war" );
> - debugMessage( "expand to file:" + expandFile.getPath() );
> - expand( inputStream, expandFile );
> + expandFile = new File( extractDirectory, "webapps/ROOT.war" );
> }
> else
> {
> - File expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
> - debugMessage( "expand to file:" + expandFile.getPath() );
> - expand( inputStream, expandFile );
> + expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
> }
> }
> else
> {
> - File expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
> - debugMessage( "expand to file:" + expandFile.getPath() );
> - expand( inputStream, new File( extractDirectory, "webapps/" + entry.getValue() ) );
> + expandFile = new File( extractDirectory, "webapps/" + entry.getValue() );
> }
> +
> + debugMessage( "expand to file:" + expandFile.getPath() );
> +
> + // MTOMCAT-211 ensure parent directories created
> +
> + if ( !expandFile.getParentFile().mkdirs() )
> + {
> + throw new Exception( "FATAL: impossible to create directories:" + expandFile.getParentFile() );
> + }
The above mkdirs() call returns "false" if those directories already exist.
Can webappWarPerContext.entrySet() contain several wars? If so then I
expect the code to throw the above exception when processing the
second war.
In Tomcat such code is usually written like this:
quoting from o.a.c.core.StandardContext
[[[
if (!dir.mkdirs() && !dir.isDirectory()) {
log.warn(sm.getString("standardContext.workCreateFail", dir,
getName()));
}
]]]
> +
> + expand( inputStream, expandFile );
> +
> }
> finally
> {
>
Best regards,
Konstantin Kolinko
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org