diff --git a/action/pom.xml b/action/pom.xml
index 1d5bcb085..97db73795 100644
--- a/action/pom.xml
+++ b/action/pom.xml
@@ -116,6 +116,76 @@
true
+
+ ant
+ ant
+ 1.6.5
+ true
+
+
+
+ tomcat
+ jasper-compiler
+ 5.5.12
+ true
+
+
+
+ tomcat
+ jasper-runtime
+ 5.5.12
+ true
+
+
+
+ tomcat
+ jasper-compiler-jdt
+ 5.5.12
+ true
+
+
+
+ commons-el
+ commons-el
+ 1.0
+ true
+
+
+
+ commons-io
+ commons-io
+ 1.0
+ true
+
+
+
+ commons-lang
+ commons-lang
+ 2.1
+ true
+
+
+
+ jspapi
+ jsp-api
+ 2.0
+ true
+
+
+
+ commons-collections
+ commons-collections
+ 2.1.1
+ true
+
+
+
+ xstream
+ xstream
+ 1.1.2
+ true
+
+
jasperreports
diff --git a/action/src/main/java/org/apache/struts/action2/quickstart/Configuration.java b/action/src/main/java/org/apache/struts/action2/quickstart/Configuration.java
index 079d197b2..b7b942f15 100644
--- a/action/src/main/java/org/apache/struts/action2/quickstart/Configuration.java
+++ b/action/src/main/java/org/apache/struts/action2/quickstart/Configuration.java
@@ -35,9 +35,9 @@ import java.util.Map;
* Configuration for the QuickStart program.
*/
public class Configuration implements Serializable {
-
+
private static final long serialVersionUID = 9159115401614443449L;
-
+
String ideaConfig;
String extendsConfig;
String resolver;
@@ -132,32 +132,36 @@ public class Configuration implements Serializable {
public void resolveDirs(String wd) {
if (ideaConfig != null) {
- String full = resolveDir(this.ideaConfig, wd);
+ String[] parts = ideaConfig.split(",");
+ for (int i = 0; i < parts.length; i++) {
+ String full = resolveDir(parts[i], wd);
- try {
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(full);
- NodeList components = doc.getElementsByTagName("root");
- List jars = new ArrayList();
- for (int i = 0; i < components.getLength(); i++) {
- Element e = (Element) components.item(i);
- String value = e.getAttribute("url");
- if (value != null && value.startsWith("jar://") && value.endsWith(".jar!/")) {
- value = value.substring(6, value.length() - 2);
- if (value.startsWith("$MODULE_DIR$")) {
- value = value.substring(13);
+ try {
+ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = db.parse(full);
+ NodeList components = doc.getElementsByTagName("root");
+ List jars = new ArrayList();
+ for (int j = 0; j < components.getLength(); j++) {
+ Element e = (Element) components.item(j);
+ String value = e.getAttribute("url");
+ if (value != null && value.startsWith("jar://") && value.endsWith(".jar!/")) {
+ value = value.substring(6, value.length() - 2);
+ if (value.startsWith("$MODULE_DIR$")) {
+ value = value.substring(13);
+ }
+ jars.add(value);
}
- jars.add(value);
}
+
+ if (this.libs != null) {
+ this.libs.addAll(jars);
+ } else {
+ this.libs = jars;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
}
- if (this.libs != null) {
- this.libs.addAll(jars);
- } else {
- this.libs = jars;
- }
- } catch (Exception e) {
- e.printStackTrace();
}
}
resolve(this.libs, wd);
diff --git a/action/src/main/java/org/apache/struts/action2/quickstart/MultiWebApplicationContext.java b/action/src/main/java/org/apache/struts/action2/quickstart/MultiWebApplicationContext.java
index 28193b582..49892cfb1 100644
--- a/action/src/main/java/org/apache/struts/action2/quickstart/MultiWebApplicationContext.java
+++ b/action/src/main/java/org/apache/struts/action2/quickstart/MultiWebApplicationContext.java
@@ -85,12 +85,12 @@ public class MultiWebApplicationContext extends WebApplicationContext {
// still haven't found what we're looking for?
// Alright, let's just hack this to work in IDEA
- if (uriInContext.equals("/struts")) {
+ if (uriInContext.equals("/struts-action")) {
// we do this check to support both "quickstart:showcase" and "quickstart" (using quickstart.xml)
- if (new File("../../src/java/META-INF/taglib.tld").exists()) {
- return FileResource.newResource("../../src/java/META-INF/taglib.tld");
+ if (new File("../../action/src/main/resources/META-INF/taglib.tld").exists()) {
+ return FileResource.newResource("../../action/src/main/resources/META-INF/taglib.tld");
} else {
- return FileResource.newResource("src/java/META-INF/taglib.tld");
+ return FileResource.newResource("src/main/resources/META-INF/taglib.tld");
}
}
diff --git a/pom.xml b/pom.xml
index 277babd19..3977ed40c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -297,6 +297,66 @@
3.1.0
+
+ ant
+ ant
+ 1.6.5
+
+
+
+ tomcat
+ jasper-runtime
+ 5.5.12
+
+
+
+ tomcat
+ jasper-compiler
+ 5.5.12
+
+
+
+ tomcat
+ jasper-compiler-jdt
+ 5.5.12
+
+
+
+ commons-el
+ commons-el
+ 1.0
+
+
+
+ commons-io
+ commons-io
+ 1.0
+
+
+
+ commons-lang
+ commons-lang
+ 2.1
+
+
+
+ jspapi
+ jsp-api
+ 2.0
+
+
+
+ commons-collections
+ commons-collections
+ 2.1.1
+
+
+
+ xstream
+ xstream
+ 1.1.2
+
+
org.apache.struts.tiles
diff --git a/webapps/showcase/quickstart.xml b/webapps/showcase/quickstart.xml
index 47e55ca8e..8064bb153 100644
--- a/webapps/showcase/quickstart.xml
+++ b/webapps/showcase/quickstart.xml
@@ -12,7 +12,7 @@
users who don't have a single directory in their project that
contains all the libraries they need.
-->
-
+ ../../action/action.iml,../../thirdparty/jasperreports/action-jasperreports.iml,webapp-showcase.iml
/showcase
@@ -37,14 +37,16 @@
using the classDirs and libs elements
-->
- src/java
+ src/main/java
- src/webapp/WEB-INF/classes
+ src/main/webapp/WEB-INF/classes
+ ../../thirdparty/jasperreports/target/classes
+ ../../action/target/classes