How to stop maven-remote-resources-plugin from overwritting resources - java

in my application i have many modules with resources.
project
|
└───moduleA
| |
│ └───resources
│ │
│ └───fileA
|
└───moduleB
| |
│ └───resources
│
└───moduleC
| |
| └───resources
| │
| |───fileA
| └───fileB
|
...
In moduleA and moduleB i use maven-remote-resources plugin to include resources (fileA and fileB) from moduleC. If the file with a given name exists in a moduleA or B, it should not be overwritten with the one from moduleC. Files get overwritten by default. How to configure the plugin to avoid that?

Related

Unable to use submodule dependency class in test, throws NoClassDefFoundError

I am working on a maven multi-module project with the following structure
project/
├── migration/
│ ├── src/
│ │ ├── main/
│ │ │ └── Migration.java
│ │ └── test
│ └── pom.xml
├── depends-on-migration/
│ ├── src/
│ │ ├── main (uses Migration.java - ok)
│ │ └── test (uses Migration.java - throws NoClassDefFoundError)
│ └── pom.xml (depends on migration)
└── pom.xml
The class can be used (see image), but cannot compile when I run mvnw package (see logs)
2022-12-17T14:22:56.025+08:00 INFO 13468 --- [ main] c.b.d.DependsOnMigrationApplicationTests : Starting DependsOnMigrationApplicationTests using Java 17.0.2 with PID 13468 (started by Joseph in Z:\bwgjoseph\maven-nested-multi-module-project\depends-on-migration)
2022-12-17T14:22:56.031+08:00 INFO 13468 --- [ main] c.b.d.DependsOnMigrationApplicationTests : No active profile set, falling back to 1 default profile: "default"
2022-12-17T14:22:57.289+08:00 INFO 13468 --- [ main] c.b.d.DependsOnMigrationApplicationTests : Started DependsOnMigrationApplicationTests in 1.534 seconds (process running for 2.498)
[ERROR] Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.493 s <<< FAILURE! - in com.bwgjoseph.dependsonmigration.DependsOnMigrationApplicationTests
[ERROR] test1 Time elapsed: 0.454 s <<< ERROR!
java.lang.NoClassDefFoundError: com/bwgjoseph/migration/Migration
at com.bwgjoseph.dependsonmigration.DependsOnMigrationApplicationTests.test1(DependsOnMigrationApplicationTests.java:17)
Caused by: java.lang.ClassNotFoundException: com.bwgjoseph.migration.Migration
at com.bwgjoseph.dependsonmigration.DependsOnMigrationApplicationTests.test1(DependsOnMigrationApplicationTests.java:17)
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] DependsOnMigrationApplicationTests.test1:17 NoClassDefFound com/bwgjoseph/migr...
[INFO]
[ERROR] Tests run: 2, Failures: 0, Errors: 1, Skipped: 0
This is a simplified example, can refer to repo (migration and depends-on-migration module)
I couldn't find anything similar, the closest I could find are cases where they are looking to use classes that are defined in migration/src/test but I am using migration/src/main
Glad to provide more information if required.
Thanks!
The problem stems from the fact that you use spring-boot-maven-plugin in both migration and depends-on-migration modules.
Spring Boot Maven Plugin produces an Uber-Jar, with a layout expected by Spring apps. The original jar (without dependencies) is renamed to migration-0.0.1-SNAPSHOT.jar.original
The structure of uber-jar
.
├── BOOT-INF
│ ├── classes
│ ├── classpath.idx
│ ├── layers.idx
│ └── lib
├── META-INF
├── migration-0.0.1-SNAPSHOT.zip
└── org
└── springframework
Your code is placed in BOOT-INF/classes - this is not a typical library layout, hence ClassNotFoundException.
See The Executable Jar Format for reference.
If you remove spring-boot-maven-plugin in migration project, mvn package passes.

Exclude Test folder and Resources from Gradle Jar build

I am trying to create a Jar to be used as a Maven Repository
I have everything built out and all the classes are ready to go. Only problem is that the gradlew ./build is including the classes and resources from the test folder. I don't want these as part of the jar, especially the resource files under test.
So my question is, How do I exclude these files from my jar build task. I tried
tasks.named('jar'){
exclude('PATH/src/test/')
in my build.gradle but that didn't work
I am a newbiew at gradle and maven so any insight would help. Thanks!
Reference Material
build.gradle
plugins {
// Apply the java-library plugin for API and implementation separation.
id 'java-library'
id 'maven-publish'
}
group = 'com.project.tools'
version = '1.0.0'
repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
}
dependencies {
api 'org.apache.commons:commons-math3:3.6.1'
implementation 'com.google.guava:guava:31.0.1-jre'
implementation platform('io.cucumber:cucumber-bom:7.1.0')
implementation 'io.cucumber:cucumber-java'
implementation 'io.cucumber:cucumber-junit-platform-engine'
implementation 'io.cucumber:cucumber-junit'
implementation 'com.googlecode.json-simple:json-simple:1.1.1'
}
tasks.named('jar'){
manifest {
attributes('Implementation-Title': project.name,
'Implementation-Version': project.version)
}
}
File Structure
project/
├─ tools/
│ ├─ build/
│ │ ├─ classes/
│ │ │ ├─ new_folder/
│ │ │ │ ├─ main/
│ │ │ │ ├─ test/ #I Don't Want This Here, This Classes Do Not Need To Be Accessible
│ │ ├─ generated/
│ │ ├─ libs/
│ │ ├─ reports/
│ │ ├─ resources/
│ │ │ ├─ test/ #Would rather not have this entire folder
│ │ │ │ ├─ com.project.tools/
│ │ │ │ ├─ test.properties # Definitely Do Not Want This Included
│ │ ├─ test-results/
│ │ ├─ tmp/
│ ├─ src/
│ │ ├─ main/
│ │ │ ├─ java/
│ │ │ │ ├─ com.project.tools/
│ │ │ │ │ ├─ MyClasses.java
│ │ │ ├─ resources/
│ │ ├─ test/
│ │ │ ├─ java/
│ │ │ │ ├─ com.project.tools/
│ │ │ │ │ ├─ MyTestClasses.java
│ │ │ ├─ resources/
│ ├─ build.gradle
Gradle does the right thing by default, there is no need to manually exclude test classes/resources from the jar.

Apache Karaf Keycloak integration

I've created my minimal custom Karaf distribution:
mvn archetype:generate \
-DarchetypeGroupId=org.apache.karaf.archetypes \
-DarchetypeArtifactId=karaf-assembly-archetype \
-DarchetypeVersion=4.1.4 \
-DgroupId=my.karaf \
-DartifactId=karaf-custom-distribution \
-Dversion=1.0-SNAPSHOT \
-Dpackage=my.karaf.distribution
cd karaf-custom-distribution
mvn install
cd target/assembly/bin/
./karaf
Then tried to install Keycloak feature into it manually:
feature:repo-add mvn:org.keycloak/keycloak-osgi-features/3.4.3.Final/xml/features
feature:install keycloak-jetty9-adapter
feature:install keycloak
The last command gives me an error back. Any suggestions how to solve this dependency error?
Error executing command: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=keycloak; type=karaf.feature; version="[3.4.3.Final,3.4.3.Final]"; filter:="(&(osgi.identity=keycloak)(type=karaf.feature)(version>=3.4.3.Final)(version<=3.4.3.Final))" [caused by: Unable to resolve keycloak/3.4.3.Final: missing requirement [keycloak/3.4.3.Final] osgi.identity; osgi.identity=keycloak-osgi-adapter; type=karaf.feature [caused by: Unable to resolve keycloak-osgi-adapter/3.4.3.Final: missing requirement [keycloak-osgi-adapter/3.4.3.Final] osgi.identity; osgi.identity=http-whiteboard; type=karaf.feature; version="[2.3.0,4.0.0)"]]
karaf#root()> list
START LEVEL 100 , List Threshold: 50
ID │ State │ Lvl │ Version │ Name
────┼────────┼─────┼─────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────
125 │ Active │ 50 │ 2.6.0 │ Apache Commons IO
126 │ Active │ 50 │ 1.0.1 │ Apache Aries Blueprint Web OSGI
127 │ Active │ 50 │ 4.1.4 │ Apache Karaf :: Diagnostic :: Boot
128 │ Active │ 50 │ 4.1.4 │ Apache Karaf :: Profile :: Core
129 │ Active │ 50 │ 4.1.4 │ Apache Karaf :: Tooling :: Utils
130 │ Active │ 50 │ 4.1.4 │ Apache Karaf :: OSGi Services :: Event
131 │ Active │ 50 │ 1.3.5 │ Jolokia Agent
132 │ Active │ 50 │ 2.20.2 │ camel-blueprint
133 │ Active │ 80 │ 2.20.2 │ camel-commands-core
134 │ Active │ 50 │ 2.20.2 │ camel-core
135 │ Active │ 80 │ 2.20.2 │ camel-karaf-commands
139 │ Active │ 80 │ 1.56 │ bcpkix
140 │ Active │ 80 │ 1.56 │ bcprov
141 │ Active │ 80 │ 2.8.9 │ Jackson-annotations
142 │ Active │ 80 │ 2.8.9 │ Jackson-core
143 │ Active │ 80 │ 2.8.9 │ jackson-databind
144 │ Active │ 80 │ 3.4.3.Final │ Keycloak Adapter Core
145 │ Active │ 80 │ 3.4.3.Final │ Keycloak Adapter SPI
146 │ Active │ 80 │ 3.4.3.Final │ KeyCloak Authz: Client API
147 │ Active │ 80 │ 3.4.3.Final │ Keycloak Common
148 │ Active │ 80 │ 3.4.3.Final │ Keycloak Core
149 │ Active │ 80 │ 3.4.3.Final │ Keycloak Jetty Adapter SPI
150 │ Active │ 80 │ 3.4.3.Final │ Keycloak Jetty Core Integration
151 │ Active │ 80 │ 3.4.3.Final │ Keycloak Jetty 9.2.x Integration
152 │ Active │ 80 │ 3.4.3.Final │ Keycloak OSGI Thirdparty

Difficulty building Pig using Ant

I am a pig newbie and have been trying to get it running on my Windows 7 machine. My hadoop (2.4.0) works fine on my local machine, but whenever I try to run a simple Pig script, it throws up errors whenever I try to dump the contents of a file.
Going off of a solution for a similar issue, found here, I have tried to rebuild my Pig (0.12.1) using Ant.
Whenever I run
ant clean jar-withouthadoop -Dhadoopversion=23
I get the following errors:
Buildfile: C:\pig-0.12.1-src\build.xml
......
[org.apache.ftpserver#ftpserver-core;1.0.0] in [hadoop20]
[ivy:resolve] org.apache.mina#mina-core;2.0.0-M2 by [org.apache.mina#mina-core;2.0.0-M5] in [hadoop20]
---------------------------------------------------------------------
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| master | 0 | 0 | 0 | 0 || 0 | 0 |
| default | 101 | 32 | 0 | 3 || 101 | 0 |
| runtime | 101 | 32 | 0 | 3 || 101 | 0 |
| compile | 89 | 29 | 0 | 2 || 90 | 0 |
| test | 101 | 32 | 0 | 3 || 101 | 0 |
| javadoc | 101 | 32 | 0 | 3 || 101 | 0 |
| releaseaudit | 3 | 2 | 0 | 0 || 3 | 0 |
| jdiff | 3 | 0 | 0 | 0 || 3 | 0 |
| checkstyle | 10 | 3 | 0 | 0 || 10 | 0 |
| buildJar | 101 | 32 | 0 | 3 || 101 | 0 |
| hadoop20 | 48 | 30 | 0 | 9 || 39 | 0 |
| hadoop23 | 40 | 13 | 0 | 0 || 42 | 0 |
| hbase94 | 1 | 0 | 0 | 0 || 2 | 0 |
| hbase95 | 7 | 0 | 0 | 0 || 13 | 0 |
---------------------------------------------------------------------
ivy-compile:
[ivy:retrieve] :: retrieving :: org.apache.pig#pig
[ivy:retrieve] confs: [compile]
[ivy:retrieve] 90 artifacts copied, 0 already retrieved (80170kB/407ms)
[ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead
[ivy:cachepath] :: loading settings :: file = C:\pig-0.12.1-src\ivy\ivysettings.xml
init:
[mkdir] Created dir: C:\pig-0.12.1-src\src-gen\org\apache\pig\impl\logicalLayer\parser
[mkdir] Created dir: C:\pig-0.12.1-src\src-gen\org\apache\pig\tools\pigscript\parser
[mkdir] Created dir: C:\pig-0.12.1-src\src-gen\org\apache\pig\tools\parameters
[mkdir] Created dir: C:\pig-0.12.1-src\build\classes
[mkdir] Created dir: C:\pig-0.12.1-src\build\test\classes
[mkdir] Created dir: C:\pig-0.12.1-src\test\org\apache\pig\test\utils\dotGraph\parser
[mkdir] Created dir: C:\pig-0.12.1-src\src-gen\org\apache\pig\data\parser
[move] Moving 1 file to C:\pig-0.12.1-src\build\ivy\lib\Pig
cc-compile:
[javacc] Java Compiler Compiler Version 4.2 (Parser Generator)
[javacc] (type "javacc" with no arguments for help)
[javacc] Reading from file C:\pig-0.12.1-
....
[javacc] Parser generated successfully.
prepare:
[mkdir] Created dir: C:\pig-0.12.1-src\src-gen\org\apache\pig\parser
genLexer:
[java] error(1): cannot write file : java.io.FileNotFoundException: C:\pig-0.12.1-src\src-gen\org\apache\pig\parser\C:\QueryLexer.java (The filename, directory name, or volume label syntax is incorrect)
[java] java.io.FileOutputStream.open(Native Method)
[java] java.io.FileOutputStream.<init>(FileOutputStream.java:221)
[java] java.io.FileOutputStream.<init>(FileOutputStream.java:171)
[java] java.io.FileWriter.<init>(FileWriter.java:90)
[java] org.antlr.Tool.getOutputFile(Tool.java:871)
[java] org.antlr.codegen.CodeGenerator.write(CodeGenerator.java:1262)
[java] org.antlr.codegen.Target.genRecognizerFile(Target.java:94)
[java] org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:460)
[java] org.antlr.Tool.generateRecognizer(Tool.java:655)
[java] org.antlr.Tool.process(Tool.java:468)
[java] org.antlr.Tool.main(Tool.java:93)
BUILD FAILED
C:\pig-0.12.1-src\build.xml:495 Java returned: 1
What am I doing wrong here? Am I missing files, or is this configuration issue in build.xml?
EDIT: I have run this command from both the cmd and cygwin terminal. They both output the same error.
EDIT2: I'm building with Ant (1.9.4)
FINAL EDIT: Turns out I needed to move the pig src archive (pig-0.12.1-src.tar.gz) to the cygwin home directory, unzip it, cd into the unzipped archive and run the command.
I had the same problem. I solved it by compiling pig via cygwin in my cygwin home.
My ivy settings were as such :
<ivysettings>
<!--
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 the License for the specific language governing permissions and
limitations under the License.
-->
<!--
see http://www.jayasoft.org/ivy/doc/configuration
-->
<!-- you can override this property to use mirrors
http://repo1.maven.org/maven2/
http://mirrors.dotsrc.org/maven2
http://ftp.ggi-project.org/pub/packages/maven2
http://mirrors.sunsite.dk/maven2
http://public.planetmirror.com/pub/maven2
http://ibiblio.lsu.edu/main/pub/packages/maven2
http://www.ibiblio.net/pub/packages/maven2
-->
<property name="repo.maven.org" value="${mvnrepo}" override="true"/>
<property name="repo.jboss.org" value="http://repository.jboss.com/nexus/content/groups/public/" override="false"/>
<property name="repo.apache.snapshots" value="http://repository.apache.org/content/groups/snapshots-group/" override="false"/>
<property name="repo.dir" value="${user.home}/.m2/repository" override="false"/>
<property name="maven2.pattern" value="[organisation]/[module]/[revision]/[module]-[revision](-[classifier])"/>
<property name="maven2.pattern.ext" value="${maven2.pattern}.[ext]"/>
<property name="snapshot.pattern" value="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
<property name="resolvers" value="default" override="false"/>
<property name="force-resolve" value="false" override="false"/>
<!-- pull in the local repository -->
<include url="${ivy.default.conf.dir}/ivyconf-local.xml"/>
<settings defaultResolver="${resolvers}"/>
<resolvers>
<ibiblio name="maven2" root="${repo.maven.org}" pattern="${maven2.pattern.ext}" m2compatible="true"/>
<ibiblio name="jboss-maven2" root="${repo.jboss.org}" pattern="${maven2.pattern.ext}" m2compatible="true"/>
<ibiblio name="apache-snapshots" root="${repo.apache.snapshots}" pattern="${snapshot.pattern}"
checkmodified="true" changingPattern=".*SNAPSHOT" m2compatible="true"/>
<filesystem name="fs" m2compatible="true" checkconsistency="false" force="${force-resolve}"
checkmodified="true" changingPattern=".*SNAPSHOT">
<artifact pattern="${repo.dir}/${maven2.pattern.ext}"/>
<ivy pattern="${repo.dir}/[organisation]/[module]/[revision]/[module]-[revision].pom"/>
</filesystem>
<chain name="internal" checkmodified="true">
<resolver ref="fs"/>
</chain>
<chain name="external" dual="true">
<resolver ref="maven2"/>
<resolver ref="jboss-maven2"/>
<resolver ref="apache-snapshots"/>
</chain>
<chain name="default" dual="true" checkmodified="true">
<resolver ref="internal"/>
<resolver ref="external"/>
</chain>
</resolvers>
<modules>
<module organisation="org.apache.pig" name=".*" resolver="internal"/>
</modules>
</ivysettings>

IntelliJ IDEA building incomplete Grails war

I'm beginning grails development with IntelliJ but just cannot make and deploy a newly created grails app to a local or external Tomcat following the procedure described in this answer
The manager app in Tomcat shows that the application is up and running but I always get http 404 when opening the index page. I noticed that it's possible to download the index.gsp file - it just seems that grails isn't initialized correctly:
These are the versions I tried:
IntelliJ IDEA 12.1.6 Ultimate
Grails 2.1.1, 2.2.4 and 2.3.2
Tomcat 7.0.47 and 6.
These are the detailed steps I took several times, even on different computers, always with same result:
create a new grails app in IntelliJ and launch default run configuration (grails) - so far that's working fine.
set up deployment to a local Tomcat server. I've configured the application server in IntelliJ, creating an artifact (Web Application: Archive or Web Application: Exploded) using the GrailsWeb facet and assigned it to be deployed.
start the local application server and IntelliJ would report that the artifact is deployed successfully
opening the browser will give 404
WHY? What am I doing wrong?
It must be something about the grails plugin in IntelliJ, because I was able to pull an example Java application (spring-petclinic) from github and simply run it in Tomcat without trouble...
Update:
I've noticed that I can manually deploy the war which is generated under target using "Make Grails Web archive". But when I do the same with the war of the artifact under out/... it won't work.
Obviously the latter one wasn't generated correctly: its missing MANIFEST.MF under META-INF and there's also no grails.xml and grails-app under WEB-INF!
Could you please have a look at the facets: Is there something wrong?
I tried many artifact configurations, e.g. this one:
Directory structure generated using the settings above:
Comparing this to the war file generated by grails shows many differences, e.g. the index.gsp is located in the root, not under WEB-INF/grails-app. And there's also no grails.xml under WEB-INF
C:\prj\gtest5\out\artifacts\gtest5_war_exploded>tree /f
Auflistung der Ordnerpfade
Volumeseriennummer : 2842-D2F0
C:.
│ error.gsp
│ index.gsp
│
├───css
│ errors.css
│ main.css
│ mobile.css
│
├───dbdoc
│ _globalnav.gsp
│ _index.gsp
│ _overview-summary.gsp
│ _stylesheet.gsp
│
├───images
│ │ apple-touch-icon-retina.png
│ │ apple-touch-icon.png
│ │ favicon.ico
│ │ grails_logo.jpg
│ │ grails_logo.png
│ │ leftnav_btm.png
│ │ leftnav_midstretch.png
│ │ leftnav_top.png
│ │ spinner.gif
│ │ springsource.png
│ │
│ └───skin
│ database_add.png
│ database_delete.png
│ database_edit.png
│ database_save.png
│ database_table.png
│ exclamation.png
│ house.png
│ information.png
│ shadow.jpg
│ sorted_asc.gif
│ sorted_desc.gif
│
├───js
│ │ application.js
│ │
│ └───jquery
│ jquery-1.8.0.js
│ jquery-1.8.0.min.js
│
├───layouts
│ main.gsp
│
└───WEB-INF
│ applicationContext.xml
│ sitemesh.xml
│
├───classes
│ │ JQueryResourceTagLib$_closure1.class
│ │ JQueryResourceTagLib$_closure2.class
│ │ JQueryResourceTagLib$_closure2_closure4.class
│ │ JQueryResourceTagLib$_closure2_closure5.class
│ │ JQueryResourceTagLib$_closure2_closure6.class
│ │ JQueryResourceTagLib$_closure2_closure7.class
│ │ JQueryResourceTagLib$_closure3.class
│ │ JQueryResourceTagLib.class
│ │ JQueryService$_closure1.class
│ │ JQueryService$_closure2.class
│ │ JQueryService$_closure3.class
│ │ JQueryService$_closure4.class
│ │ JQueryService.class
│ │ JQueryTagLib$_closure1.class
│ │ JQueryTagLib$_closure1_closure6.class
│ │ JQueryTagLib$_closure2.class
│ │ JQueryTagLib$_closure3.class
│ │ JQueryTagLib$_closure4.class
│ │ JQueryTagLib$_closure5.class
│ │ JQueryTagLib.class
│ │ messages.properties
│ │ messages_cs_CZ.properties
│ │ messages_da.properties
│ │ messages_de.properties
│ │ messages_es.properties
│ │ messages_fr.properties
│ │ messages_it.properties
│ │ messages_ja.properties
│ │ messages_nl.properties
│ │ messages_pl.properties
│ │ messages_pt_BR.properties
│ │ messages_pt_PT.properties
│ │ messages_ru.properties
│ │ messages_sv.properties
│ │ messages_th.properties
│ │ messages_zh_CN.properties
│ │
│ ├───grails
│ │ └───plugin
│ │ ├───cache
│ │ │ │ BlockingCache.class
│ │ │ │ Cacheable.class
│ │ │ │ CacheBeanPostProcessor.class
│ │ │ │ CacheConfigArtefactHandler$CacheConfigGrailsClass.class
│ │ │ │ CacheConfigArtefactHandler$DefaultCacheConfigGrailsClass.class
│ │ │ │ CacheConfigArtefactHandler.class
│ │ │ │ CacheConfiguration.class
│ │ │ │ CacheEvict.class
│ │ │ │ CachePut.class
│ │ │ │ CacheTagLib$_closure1.class
│ │ │ │ CacheTagLib$_closure2.class
│ │ │ │ CacheTagLib.class
│ │ │ │ ConfigBuilder.class
│ │ │ │ ConfigLoader$_sortConfigs_closure1.class
│ │ │ │ ConfigLoader.class
│ │ │ │ GrailsAnnotationCacheOperationSource$DefaultCacheKey.class
│ │ │ │ GrailsAnnotationCacheOperationSource.class
│ │ │ │ GrailsCache.class
│ │ │ │ GrailsCacheAdminService.class
│ │ │ │ GrailsCacheManager.class
│ │ │ │ GrailsConcurrentMapCache.class
│ │ │ │ GrailsConcurrentMapCacheManager.class
│ │ │ │ GrailsValueWrapper.class
│ │ │ │ SerializableByteArrayOutputStream.class
│ │ │ │ SerializableOutputStream.class
│ │ │ │ Timer.class
│ │ │ │
│ │ │ ├───compiler
│ │ │ │ CacheTransformation.class
│ │ │ │
│ │ │ ├───util
│ │ │ │ ClassUtils.class
│ │ │ │
│ │ │ └───web
│ │ │ │ AlreadyGzippedException.class
│ │ │ │ ContentCacheParameters.class
│ │ │ │ GenericResponseWrapper$1.class
│ │ │ │ GenericResponseWrapper.class
│ │ │ │ Header$Type.class
│ │ │ │ Header.class
│ │ │ │ HttpDateFormatter.class
│ │ │ │ PageInfo.class
│ │ │ │ ProxyAwareMixedGrailsControllerHelper.class
│ │ │ │ SerializableCookie.class
│ │ │ │
│ │ │ └───filter
│ │ │ │ AbstractFilter.class
│ │ │ │ CacheExpressionRootObject.class
│ │ │ │ CacheOperationContext.class
│ │ │ │ DefaultWebKeyGenerator.class
│ │ │ │ ExpressionEvaluator.class
│ │ │ │ FilterServletOutputStream.class
│ │ │ │ LazyParamAwareEvaluationContext.class
│ │ │ │ NoOpFilter.class
│ │ │ │ PageFragmentCachingFilter$1.class
│ │ │ │ PageFragmentCachingFilter$2.class
│ │ │ │ PageFragmentCachingFilter$CacheStatus.class
│ │ │ │ PageFragmentCachingFilter.class
│ │ │ │ WebKeyGenerator.class
│ │ │ │
│ │ │ └───simple
│ │ │ MemoryBlockingCache.class
│ │ │ MemoryCacheConfiguration.class
│ │ │ MemoryPageFragmentCachingFilter.class
│ │ │
│ │ ├───databasemigration
│ │ │ │ ChangelogXml2Groovy$_appendAttrs_closure1.class
│ │ │ │ ChangelogXml2Groovy$_appendWithIndent_closure2.class
│ │ │ │ ChangelogXml2Groovy.class
│ │ │ │ DbdocController$_closure1.class
│ │ │ │ DbdocController.class
│ │ │ │ DslBuilder$1.class
│ │ │ │ DslBuilder$_expandExpressions_closure1.class
│ │ │ │ DslBuilder$_extractZipFile_closure3.class
│ │ │ │ DslBuilder$_handleIncludedChangeLog_closure7.class
│ │ │ │ DslBuilder$_processIncludeAll_closure2.class
│ │ │ │ DslBuilder$_processProperty_closure5.class
│ │ │ │ DslBuilder$_processRollback_closure4.class
│ │ │ │ DslBuilder$_setPropertiesFromAttributes_closure6.class
│ │ │ │ DslBuilder.class
│ │ │ │ GormDatabase.class
│ │ │ │ GormDatabaseSnapshotGenerator$_createIdentifierGenerator_closure4.class
│ │ │ │ GormDatabaseSnapshotGenerator$_createSnapshot_closure1.class
│ │ │ │ GormDatabaseSnapshotGenerator$_createSnapshot_closure2.class
│ │ │ │ GormDatabaseSnapshotGenerator$_isIdentityColumn_closure3.class
│ │ │ │ GormDatabaseSnapshotGenerator.class
│ │ │ │ GormDatabaseTypeConverter.class
│ │ │ │ GrailsChange$1.class
│ │ │ │ GrailsChange.class
│ │ │ │ GrailsChangeLogParser$_setChangelogProperties_closure1.class
│ │ │ │ GrailsChangeLogParser.class
│ │ │ │ GrailsClassLoaderResourceAccessor.class
│ │ │ │ GrailsDiffStatusListener.class
│ │ │ │ GrailsPrecondition$1.class
│ │ │ │ GrailsPrecondition.class
│ │ │ │ GroovyAwareStringChangeLogSerializer.class
│ │ │ │ Log4jLogger.class
│ │ │ │ MigrationRunner$_autoRun_closure1.class
│ │ │ │ MigrationRunner.class
│ │ │ │ MigrationUtils$_getDatabase_closure1.class
│ │ │ │ MigrationUtils.class
│ │ │ │ MysqlAwareCreateTableGenerator.class
│ │ │ │ ScriptUtils$_appendToChangelog_closure2.class
│ │ │ │ ScriptUtils$_appendToChangelog_closure2_closure3.class
│ │ │ │ ScriptUtils$_appendToChangelog_closure2_closure4.class
│ │ │ │ ScriptUtils$_executeAndWrite_closure1.class
│ │ │ │ ScriptUtils.class
│ │ │ │
│ │ │ └───dbdoc
│ │ │ AuthorListWriter.class
│ │ │ AuthorWriter.class
│ │ │ ChangeLogListWriter.class
│ │ │ ChangeLogWriter.class
│ │ │ ColumnWriter.class
│ │ │ HTMLListWriter.class
│ │ │ HTMLWriter.class
│ │ │ MemoryDocVisitor.class
│ │ │ PendingChangesWriter.class
│ │ │ PendingSQLWriter.class
│ │ │ RecentChangesWriter.class
│ │ │ TableListWriter.class
│ │ │ TableWriter$_writeCustomHTML_closure1.class
│ │ │ TableWriter.class
│ │ │
│ │ └───webxml
│ │ FilterManager.class
│ │
│ └───org
│ ├───codehaus
│ │ └───groovy
│ │ └───grails
│ │ └───plugins
│ │ └───jquery
│ │ JQueryConfig$_init_closure1.class
│ │ JQueryConfig$_init_closure2.class
│ │ JQueryConfig.class
│ │ JQueryProvider$_doRemoteFunction_closure1.class
│ │ JQueryProvider$_doRemoteFunction_closure2.class
│ │ JQueryProvider$_doRemoteFunction_closure3.class
│ │ JQueryProvider$_doRemoteFunction_closure4.class
│ │ JQueryProvider.class
│ │
│ └───grails
│ └───plugin
│ ├───resource
│ │ │ AggregatedResourceMeta$_buildAggregateResource_closure3.class
│ │ │ AggregatedResourceMeta$_buildAggregateResource_closure3_closure4.class
│ │ │ AggregatedResourceMeta$_containsResource_closure1.class
│ │ │ AggregatedResourceMeta$_isDirty_closure2.class
│ │ │ AggregatedResourceMeta.class
│ │ │ CSSBundleResourceMeta.class
│ │ │ CSSLinkProcessor$_process_closure1.class
│ │ │ CSSLinkProcessor.class
│ │ │ DevModeSanityFilter.class
│ │ │ JavaScriptBundleResourceMeta.class
│ │ │ ProcessingFilter.class
│ │ │ ResourceMeta$_reset_closure1.class
│ │ │ ResourceMeta.class
│ │ │ ResourceModule$_closure1.class
│ │ │ ResourceModule$_getRequiredDispositions_closure3.class
│ │ │ ResourceModule$_newResourceFromArgs_closure2.class
│ │ │ ResourceModule.class
│ │ │ ResourceProcessor$_afterPropertiesSet_closure5.class
│ │ │ ResourceProcessor$_afterPropertiesSet_closure6.class
│ │ │ ResourceProcessor$_canProcessLegacyResource_closure7.class
│ │ │ ResourceProcessor$_canProcessLegacyResource_closure8.class
│ │ │ ResourceProcessor$_defineModuleFromBuilder_closure16.class
│ │ │ ResourceProcessor$_dumpResources_closure21.class
│ │ │ ResourceProcessor$_dumpResources_closure21_closure35.class
│ │ │ ResourceProcessor$_dumpResources_closure21_closure36.class
│ │ │ ResourceProcessor$_dumpResources_closure22.class
│ │ │ ResourceProcessor$_dumpStats_closure20.class
│ │ │ ResourceProcessor$_dumpStats_closure20_closure34.class
│ │ │ ResourceProcessor$_findSyntheticResourceById_closure9.class
│ │ │ ResourceProcessor$_getConfigParamOrDefault_closure23.class
│ │ │ ResourceProcessor$_getResourceMetaForURI_closure10.class
│ │ │ ResourceProcessor$_getResourceMetaForURI_closure10_closure27.class
│ │ │ ResourceProcessor$_getServletContext_closure24.class
│ │ │ ResourceProcessor$_loadModules_closure17.class
│ │ │ ResourceProcessor$_loadModules_closure18.class
│ │ │ ResourceProcessor$_loadModules_closure18_closure30.class
│ │ │ ResourceProcessor$_loadModules_closure18_closure31.class
│ │ │ ResourceProcessor$_loadModules_closure18_closure31_closure32.class
│ │ │ ResourceProcessor$_loadModules_closure18_closure31_closure33.class
│ │ │ ResourceProcessor$_loadModules_closure19.class
│ │ │ ResourceProcessor$_makeFileSystemPathFromURI_closure11.class
│ │ │ ResourceProcessor$_prepareResourceBatch_closure13.class
│ │ │ ResourceProcessor$_prepareResourceBatch_closure14.class
│ │ │ ResourceProcessor$_prepareResourceBatch_closure14_closure28.class
│ │ │ ResourceProcessor$_prepareResourceBatch_closure14_closure29.class
│ │ │ ResourceProcessor$_prepareResourceBatch_closure15.class
│ │ │ ResourceProcessor$_prepareSingleDeclaredResource_closure12.class
│ │ │ ResourceProcessor$_updateDependencyOrder_closure1.class
│ │ │ ResourceProcessor$_updateDependencyOrder_closure2.class
│ │ │ ResourceProcessor$_updateDependencyOrder_closure3.class
│ │ │ ResourceProcessor$_updateDependencyOrder_closure3_closure25.class
│ │ │ ResourceProcessor$_updateDependencyOrder_closure4.class
│ │ │ ResourceProcessor$_updateDependencyOrder_closure4_closure26.class
│ │ │ ResourceProcessor.class
│ │ │ ResourceProcessorBatch.class
│ │ │ ResourceTagLib$_closure1.class
│ │ │ ResourceTagLib$_closure10.class
│ │ │ ResourceTagLib$_closure10_closure17.class
│ │ │ ResourceTagLib$_closure1_closure15.class
│ │ │ ResourceTagLib$_closure2.class
│ │ │ ResourceTagLib$_closure3.class
│ │ │ ResourceTagLib$_closure4.class
│ │ │ ResourceTagLib$_closure5.class
│ │ │ ResourceTagLib$_closure5_closure16.class
│ │ │ ResourceTagLib$_closure6.class
│ │ │ ResourceTagLib$_closure7.class
│ │ │ ResourceTagLib$_closure8.class
│ │ │ ResourceTagLib$_closure9.class
│ │ │ ResourceTagLib$_resolveResourceAndURI_closure12.class
│ │ │ ResourceTagLib$_writeAttrs_closure11.class
│ │ │ ResourceTagLib$__clinit__closure13.class
│ │ │ ResourceTagLib$__clinit__closure14.class
│ │ │ ResourceTagLib.class
│ │ │ URLUtils.class
│ │ │
│ │ ├───mapper
│ │ │ MapperPhase.class
│ │ │ ResourceMapper$_closure1.class
│ │ │ ResourceMapper$_getDefaultExcludes_closure8.class
│ │ │ ResourceMapper$_getDefaultIncludes_closure9.class
│ │ │ ResourceMapper$_getExcludes_closure10.class
│ │ │ ResourceMapper$_getExcludingPattern_closure2.class
│ │ │ ResourceMapper$_getIncludes_closure11.class
│ │ │ ResourceMapper$_getIncludingPattern_closure3.class
│ │ │ ResourceMapper$_getName_closure7.class
│ │ │ ResourceMapper$_getOperation_closure5.class
│ │ │ ResourceMapper$_getPhase_closure4.class
│ │ │ ResourceMapper$_getPriority_closure6.class
│ │ │ ResourceMapper.class
│ │ │ ResourceMappersFactory$_createResourceMappers_closure1.class
│ │ │ ResourceMappersFactory$_createResourceMappers_closure2.class
│ │ │ ResourceMappersFactory$_createResourceMappers_closure2_closure7.class
│ │ │ ResourceMappersFactory$_createResourceMappers_closure3.class
│ │ │ ResourceMappersFactory$_createResourceMappers_closure4.class
│ │ │ ResourceMappersFactory$_createResourceMappers_closure5.class
│ │ │ ResourceMappersFactory$_createResourceMappers_closure6.class
│ │ │ ResourceMappersFactory.class
│ │ │
│ │ ├───module
│ │ │ ModuleBuilder.class
│ │ │ ModuleDeclarationsFactory$_getModuleDeclarations_closure1.class
│ │ │ ModuleDeclarationsFactory$_getModuleDeclarations_closure2.class
│ │ │ ModuleDeclarationsFactory$_getModuleDeclarations_closure3.class
│ │ │ ModuleDeclarationsFactory.class
│ │ │ ModulesBuilder$_invokeMethod_closure1.class
│ │ │ ModulesBuilder.class
│ │ │
│ │ └───util
│ │ HalfBakedLegacyLinkGenerator.class
│ │ ResourceMetaStore$_addResource_closure1.class
│ │ ResourceMetaStore.class
│ │
│ └───resources
│ └───artefacts
│ AbstractResourcesArtefactHandler.class
│ DefaultResourceMapperClass.class
│ DefaultResourcesClass.class
│ ResourceMapperArtefactHandler.class
│ ResourceMapperClass.class
│ ResourcesArtefactHandler.class
│ ResourcesClass.class
│
├───lib
│ ant-1.8.2.jar
│ ant-junit-1.8.2.jar
│ ant-launcher-1.8.2.jar
│ ant-trax-1.7.1.jar
│ antlr-2.7.7.jar
│ aopalliance-1.0.jar
│ asm-3.1.jar
│ aspectjrt-1.6.10.jar
│ aspectjweaver-1.6.10.jar
│ bcmail-jdk14-138.jar
│ bcpg-jdk15-1.45.jar
│ bcprov-jdk15-1.45.jar
│ cglib-2.2.jar
│ commons-beanutils-1.8.3.jar
│ commons-cli-1.2.jar
│ commons-codec-1.5.jar
│ commons-collections-3.2.1.jar
│ commons-dbcp-1.4.jar
│ commons-el-1.0.jar
│ commons-fileupload-1.2.2.jar
│ commons-io-2.1.jar
│ commons-lang-2.6.jar
│ commons-pool-1.5.6.jar
│ commons-validator-1.3.1.jar
│ concurrentlinkedhashmap-lru-1.2_jdk5.jar
│ core-renderer-R8.jar
│ dom4j-1.6.1.jar
│ ecj-3.7.2.jar
│ ehcache-core-2.4.6.jar
│ gant_groovy1.8-1.9.6.jar
│ grails-2.1.1.jar
│ grails-bootstrap-2.1.1.jar
│ grails-core-2.1.1.jar
│ grails-crud-2.1.1.jar
│ grails-datastore-core-1.1.0.RELEASE.jar
│ grails-datastore-gorm-1.1.0.RELEASE.jar
│ grails-datastore-simple-1.1.0.RELEASE.jar
│ grails-docs-2.1.1.jar
│ grails-gdoc-engine-1.0.1.jar
│ grails-hibernate-2.1.1.jar
│ grails-logging-2.1.1.jar
│ grails-plugin-async-2.1.1.jar
│ grails-plugin-codecs-2.1.1.jar
│ grails-plugin-controllers-2.1.1.jar
│ grails-plugin-converters-2.1.1.jar
│ grails-plugin-datasource-2.1.1.jar
│ grails-plugin-domain-class-2.1.1.jar
│ grails-plugin-filters-2.1.1.jar
│ grails-plugin-gsp-2.1.1.jar
│ grails-plugin-i18n-2.1.1.jar
│ grails-plugin-log4j-2.1.1.jar
│ grails-plugin-mimetypes-2.1.1.jar
│ grails-plugin-scaffolding-2.1.1.jar
│ grails-plugin-services-2.1.1.jar
│ grails-plugin-servlets-2.1.1.jar
│ grails-plugin-testing-2.1.1.jar
│ grails-plugin-tomcat-2.1.1.jar
│ grails-plugin-url-mappings-2.1.1.jar
│ grails-plugin-validation-2.1.1.jar
│ grails-resources-2.1.1.jar
│ grails-scripts-2.1.1.jar
│ grails-spring-2.1.1.jar
│ grails-test-2.1.1.jar
│ grails-test-suite-base-2.1.1.jar
│ grails-web-2.1.1.jar
│ grails-webflow-2.1.1.jar
│ grails-wrapper-support-2.1.1.jar
│ groovy-all-1.8.8.jar
│ h2-1.3.164.jar
│ hamcrest-core-1.1.jar
│ hibernate-commons-annotations-3.2.0.Final.jar
│ hibernate-core-3.6.10.Final.jar
│ hibernate-ehcache-3.6.10.Final.jar
│ hibernate-jpa-2.0-api-1.0.1.Final.jar
│ hibernate-validator-4.1.0.Final.jar
│ hsqldb-1.8.0.10.jar
│ itext-2.0.8.jar
│ ivy-2.2.0.jar
│ jansi-1.2.1.jar
│ javassist-3.16.1-GA.jar
│ javax.servlet-api-3.0.1.jar
│ jcl-over-slf4j-1.6.2.jar
│ jline-1.0.jar
│ jna-3.2.3.jar
│ json-simple-1.1.jar
│ jsp-api-2.0.jar
│ jsp-api-2.1.jar
│ jstl-1.1.2.jar
│ jta-1.1.jar
│ jul-to-slf4j-1.6.2.jar
│ junit-4.10.jar
│ liquibase-core-2.0.5.jar
│ log4j-1.2.16.jar
│ ognl-2.7.3.jar
│ org.springframework.uaa.client-1.0.1.RELEASE.jar
│ oro-2.0.8.jar
│ persistence-api-1.0.jar
│ protobuf-java-2.4.1.jar
│ serializer-2.7.1.jar
│ servlet-api-2.4.jar
│ sitemesh-2.4.jar
│ slf4j-api-1.6.2.jar
│ snakeyaml-1.8.jar
│ spring-aop-3.1.2.RELEASE.jar
│ spring-asm-3.1.2.RELEASE.jar
│ spring-aspects-3.1.2.RELEASE.jar
│ spring-beans-3.1.2.RELEASE.jar
│ spring-binding-2.0.8.RELEASE.jar
│ spring-context-3.1.2.RELEASE.jar
│ spring-context-support-3.1.2.RELEASE.jar
│ spring-core-3.1.2.RELEASE.jar
│ spring-expression-3.1.2.RELEASE.jar
│ spring-jdbc-3.1.2.RELEASE.jar
│ spring-jms-3.1.2.RELEASE.jar
│ spring-js-2.0.8.RELEASE.jar
│ spring-orm-3.1.2.RELEASE.jar
│ spring-test-3.1.2.RELEASE.jar
│ spring-tx-3.1.2.RELEASE.jar
│ spring-web-3.1.2.RELEASE.jar
│ spring-webflow-2.0.8.RELEASE.jar
│ spring-webmvc-3.1.2.RELEASE.jar
│ springloaded-core-1.0.6.jar
│ standard-1.1.2.jar
│ tomcat-annotations-api-7.0.30.jar
│ tomcat-api-7.0.30.jar
│ tomcat-catalina-7.0.30.jar
│ tomcat-catalina-ant-7.0.30.jar
│ tomcat-coyote-7.0.30.jar
│ tomcat-embed-core-7.0.30.jar
│ tomcat-embed-jasper-7.0.30.jar
│ tomcat-embed-logging-juli-7.0.30.jar
│ tomcat-embed-logging-log4j-7.0.30.jar
│ tomcat-juli-7.0.30.jar
│ tomcat-servlet-api-7.0.30.jar
│ tomcat-util-7.0.30.jar
│ validation-api-1.0.0.GA.jar
│ xpp3_min-1.1.4c.jar
│
└───tld
c.tld
fmt.tld
grails.tld
spring.tld
It's actually a known issue:
IDEA-72093 Allow to deploy in run configuration war created by "grails war"
You should use workaround from the first comment:
When you run server, you need to do two things: run Build | Make
Grails Web Archive, and then run server's run configuration with
created war added as external source.
In case you are not aware of the external source option, check this screenshot.

Categories