I read this article on the maven project web page that lists the different directory layouts (like: src/main/resources which is for Application/Library resources).
The problem is that when I run the following command (found here):
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
the src/main/resources/META-INF directory isn't created. It's important for me because I'd like to reach the "persistence.xml" that is found in that directory.
Should I add an option in the mvn command? How can I automatically generate the "src/main/resources" that contains the "META-INF/persistence.xml" file?
Thank you, Regards
The problem is that when I run the following command (...) the src/main/resources/META-INF directory isn't created. It's important for me because I'd like to reach the "persistence.xml" that is found in that directory.
The maven quickstart archetype does NOT create src/main/resources nor src/test/resources. There are several explanations:
src/main/resources and not, say, src/main/assembly?In other words, just add src/main/resources/META-INF/persistence.xml manually if you use this archetype.
Should I add an option in the mvn command? How can I automatically generate the "src/main/resources" that contains the "META-INF/persistence.xml" file?
You can't with this archetype - and I don't really understand why this is a such big issue.
There is a JPA archetype though:
mvn archetype:create \ -DgroupId=com.mycompany.project \ -DartifactId=my-project-domain \ -DpackageName=com.company.project.domain \ -DarchetypeGroupId=com.rfc.maven.archetypes \ -DarchetypeArtifactId=jpa-maven-archetype \ -DarchetypeVersion=1.0.0 \ -DremoteRepositories=http://maven.rodcoffin.com/repo
That creates the following bootstrap JPA project:
$ tree my-project-domain/
my-project-domain/
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── company
    │   │           └── project
    │   │               └── domain
    │   │                   └── User.java
    │   └── resources
    │       └── META-INF
    │           └── persistence.xml
    └── test
        ├── java
        │   └── com
        │       └── company
        │           └── project
        │               └── domain
        │                   ├── DbUnitDataLoader.java
        │                   └── UserTest.java
        └── resources
            └── user.db.xml
16 directories, 6 files
                        Don't be too dependant on maven doing things for you. These archetypes are just there to provide basic templates. If they don't create a file for you, just go ahead and create it yourself.
Here you used the quickstart archetype which is the sample, more informations here.
If you want a Java EE standard layout you shoud use the maven-archetype-j2ee-simple archetype :
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-j2ee-simple -DinteractiveMode=false
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With