标签: ear

Maven2:企业项目的最佳实践(EAR文件)

我刚刚从Ant切换到Maven,并试图找出建立基于EAR文件的企业项目的最佳实践?

假设我想创建一个非常标准的项目,其中包含EJB的jar文件,Web层的WAR文件和封装的EAR文件,以及相应的部署描述符.

我该怎么办呢?archetypeArtifactId=maven-archetype-webapp用war文件创建项目,并从那里扩展?什么是最好的项目结构(和POM文件示例)?你在哪里粘贴与ear文件相关的部署描述符等?

谢谢你的帮助.

ear maven-2 java-ee maven-ear-plugin

97
推荐指数
4
解决办法
15万
查看次数

使用Maven从文件名中删除版本号

我在maven有一个包含5个模块的项目.现在,当我进行"mvn clean install"时,它会生成一个包含两个罐子的耳朵,一个战争和一个来自其他模块的sar.

所有文件名都包含版本,例如projectx-ear-2.0.0.ear,projectx-client-2.0.0.jar等.

我需要重命名其中一个罐子和最后一个耳朵以省略文件名中的版本.它应该如下所示:

projectx-ear.ear
|
+-- projectx-client.jar
|
+-- projectx-misc-2.0.0.jar
|
+-- projectx-sar-2.0.0.sar
|
\-- projectx-web-2.0.0.web
Run Code Online (Sandbox Code Playgroud)

现在我正在使用以下插件来构建:maven-compiler-plugin和maven-release-plugin

实现我期望的结果的最佳方法是什么?

java ear maven-2 build maven-ear-plugin

44
推荐指数
2
解决办法
4万
查看次数

如何在EAR或WAR之外存储Java EE配置参数?

我想存储Web项目(ear/war文件)之外的Web项目的配置.应用程序不应该知道它在哪个容器中运行(WebSphere/JBoss等).

处理这个问题的最佳方法是什么?

JNDI是一个干净的方式吗?如果JNDI可以解决我的问题,我应该如何配置它?(自定义对象?)

在我的例子中,SOAP/WS端点只有简单的Key => Value对(String,String).

java parameters ear war java-ee

37
推荐指数
4
解决办法
2万
查看次数

不同种类的Java EE项目

Eclipse WTP中不同类型的Java EE项目之间有什么不同?

有:

  • 应用客户端项目
  • 连接器项目
  • 企业应用项目
  • 实用工程

eclipse ear jca application-client eclipse-wtp

27
推荐指数
1
解决办法
2万
查看次数

什么是Web项目中的.apt_generated文件夹?

什么以及为什么.apt_generated文件夹是在Eclipse或RAD工作区内的Web项目中创建的?

eclipse ear war rad java-ee

27
推荐指数
1
解决办法
2万
查看次数

如何让maven将同一个EAR内的战争共同放入EAR根目录?

我们有一个有很多战争的解决方案.从他们都使用冬眠和春天的意义来看,战争是相似的.这意味着我们在每次战争中都有许多相同的罐子.这成为一个问题,因为耳朵的大小开始增长不成比例.

我想使用Maven来计算依赖关系并将多个战争中常见的所有jar放到EAR的根目录中.

我尝试使用j2ee archetype(maven-archetype-j2ee-simple)组织我的项目,但所有的战争仍然与WEB-INF/lib中的依赖项打包在一起.有没有办法让Maven计算公共依赖关系并将它们放到EAR中,就像他在构造war或jar时能够计算所有过渡依赖关系一样?

ear dependencies maven-2 war package

22
推荐指数
2
解决办法
2万
查看次数

Gradle ear正在使用JAR而不是WAR

我正在尝试使用Gradle 构建一个耳朵.
我的项目树如下:

/project
|
|--> /web-application
|    |
|    |--> /src (stuff of web app)
|    |
|    |--> build.gradle
|
|--> build-gradle
|--> settings.gradle
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用ear插件生成耳朵,但是当我这样做时,我在web应用程序build目录下创建gradle assemblewar,但是在生成的ear中我有一个jar应用程序.gradle配置文件非常简单,它们是:

项目/的build.gradle

apply plugin: 'ear'

repositories {
    mavenCentral()
}

dependencies {
    deploy project(':web-application')
    earlib group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
Run Code Online (Sandbox Code Playgroud)

项目/ Web的应用程序/的build.gradle

apply plugin: 'war'

repositories {
   mavenCentral()
}

dependencies {
    compile group: 'log4j', …
Run Code Online (Sandbox Code Playgroud)

ear war gradle

22
推荐指数
1
解决办法
9290
查看次数

Eclipse Blue,Maven:项目配置与pom.xml不同步

我在我的开发环境中使用Eclipse Blue 10和Maven 3.

我通常按​​照以下路径从SVN导入maven项目:

File > Import> SVN > Checkout Projects from SVN 
Run Code Online (Sandbox Code Playgroud)

然后导入所有maven项目:

Right click on imported project > Maven4MyEclipse> Existing Maven Projects
Run Code Online (Sandbox Code Playgroud)

我有一个名为'project-ear'的maven模块,这个模块是将我的所有Web应用程序绑定到一个耳中.

但每当我将EAR模块导入为eclipse项目时,eclipse会在"Problems"选项卡中提示以下错误:

项目配置与pom.xml不是最新的.运行项目配置更新.

如何解决这个问题?我没有看到任何"运行项目配置更新"的方法.

请帮忙.

EAR模块的Pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>com.company.xxx</groupId>
    <artifactId>my</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.company.xxx.ear</groupId>
<artifactId>my-ear</artifactId>
<packaging>ear</packaging>
<name>my-ear</name>

<build>
    <finalName>web-app</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.5</version>
            <configuration>
                <modules>
                    <webModule>
                        <groupId>com.company.xxx.myweb</groupId>
                        <artifactId>my-web</artifactId>
                        <contextRoot>/txcs</contextRoot>
                    </webModule>                        
                </modules>
                <generateApplicationXml>true</generateApplicationXml>
                <displayName>web-app</displayName>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>com.company.xxx.myweb</groupId>
        <artifactId>my-web</artifactId>
        <type>war</type>
        <version>${project.version}</version>
    </dependency>       
</dependencies>
Run Code Online (Sandbox Code Playgroud)

eclipse ear maven

22
推荐指数
2
解决办法
6万
查看次数

EAR与单独的EJB + WAR

将应用程序部署为EAR(使用1个EJB和1个WAR模块)与单独的模块有什么区别?我想使用GlassFish 3 Web配置文件,但它不支持EAR存档.我可以简单地将EJB和WAR用作单独的模块吗?还有其他选择吗?

java ear war java-ee java-ee-6

21
推荐指数
1
解决办法
1万
查看次数

Gradle:找不到提供的方法Compile()

如何在这个这个构建文件可以使用providedCompile

thufir@doge:~/NetBeansProjects/gradleEAR$ 
thufir@doge:~/NetBeansProjects/gradleEAR$ gradle clean

FAILURE: Build failed with an exception.

* Where:
Build file '/home/thufir/NetBeansProjects/gradleEAR/build.gradle' line: 40

* What went wrong:
A problem occurred evaluating root project 'gradleEAR'.
> Could not find method providedCompile() for arguments [javax:javaee-api:7.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 12.721 secs
thufir@doge:~/NetBeansProjects/gradleEAR$ 

plugins { …
Run Code Online (Sandbox Code Playgroud)

ear ejb build java-ee gradle

20
推荐指数
1
解决办法
9231
查看次数