Tôi muốn có một dự án Java JEE6 xây dựng với maven, và tôi muốn nó chuẩnMaven: JavaEE-api vs JBoss-JavaEE-6.0
Vì vậy, tôi đặt điều này trong pom.xml của tôi:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
Một dự án như thế này, nó là vụ phải chạy trong mỗi container JEE6 tương thích (JBoss, Geronimo, glashfish, vv)
Sau đó, tại sao phụ thuộc JBoss này tồn tại?
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<version>3.0.2.Final</version>
<scope>provided</scope>
</dependency>
Nếu tôi sử dụng nó, tôi có bị ràng buộc với jboss vì vậy tôi chỉ có thể sử dụng máy chủ này với ứng dụng này?
Bạn không nên sử dụng javaee-api chuẩn?
Cảm ơn bạn!
Lưu ý rằng phụ thuộc 'org.jboss.spec' chỉ phụ thuộc vào API. Họ không theo bất kỳ cách nào buộc bạn các nền tảng JBoss. –
Để tham khảo trong tương lai - Lỗi sau xảy ra rất thường xuyên với nghịch lý này. 'java.lang.ClassFormatError: Thuộc tính mã vắng mặt trong phương thức không phải là bản địa hoặc trừu tượng trong tệp lớp' –