LINUX.ORG.RU

Сборка приложения под java 11 для WildFly 14.0.1

 , javax,


0

1

Добрых суток.

Пытаюсь собрать проект (тестовый, т.е. без ничего) исползую 11ую яву, в нём есть бин:

import javax.ejb.Local;

@Local
public interface Bean {
    public String getText();
}
import javax.ejb.LocalBean;
import javax.ejb.Stateless;

@Stateless
@LocalBean
public class MyBean implements Bean {
	public String getText() {
		return "test bean";
	}
}

WildFly запускается с указанием версии:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

В градле указываю версию:

sourceCompatibility = 11
targetCompatibility = 11

Но при деплое получаю такое:

{"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"restapp.war\".WeldStartService" => "Failed to start service
    Caused by: org.jboss.weld.exceptions.WeldException: WELD-001524: Unable to load proxy class for bean Session bean [class MyBean with qualifiers [@Any @Default]; local interfaces are [Bean, MyBean] with class class MyBean using classloader ModuleClassLoader for Module \"deployment.restapp.war\" from Service Module Loader
    Caused by: java.lang.RuntimeException: java.lang.ClassFormatError: Illegal class name \"/MyBean$Proxy$_$$_Weld$EnterpriseProxy$\" in class file /MyBean$Proxy$_$$_Weld$EnterpriseProxy$
    Caused by: java.lang.ClassFormatError: Illegal class name \"/MyBean$Proxy$_$$_Weld$EnterpriseProxy$\" in class file /MyBean$Proxy$_$$_Weld$EnterpriseProxy$"}}

Может кто знает, WildFly вообще нормально работает с 11ой явой или может изменился способ создания бинов?

П.С. всё то же самое под 1.8 собирается и деплоится прекрасно.

Заранее спасибо.

★★★★★

Последнее исправление: cyclon (всего исправлений: 1)

Похоже на баг. Я бы попробовал последнюю версию WildFly. А вообще Java 8 это LTS и смысла с него слезать в ближайшие лет 10 нет, на новые жавы ещё долго будут переходить.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)

По делу, попробуй Java 9, если воспроизведется, то вангую проблемы с модулями. Если нет, то надо лезть на форум wildlfy и в их багтрекер, смотреть в каком статусе поддержка Java 11.

hippi90 ★★★★★
()
Ответ на: комментарий от hippi90

Только в мечтах оракла. В реальности на ней, думаю, процентов 90 предприятий только-только мигрировали и будут сидеть ещё долго. Оставшиеся 10 сидят на 6-7 :)

Legioner ★★★★★
()
Ответ на: комментарий от hippi90

11 пока нет даже в современных дистрибутивах, в чём смысл?

ubuntu 18.04 - java 8

freebsd 12 - java 8

openindiana - java 8

openbsd 6.4 - java 8

Писать на java 11 = убить «write once, run everywhere».

Наверное с ubuntu 20.04 ситуация изменится и будет смысл в java 11, но пока Java 11 убивает весь смысл Java, имхо...

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 1)
Ответ на: комментарий от fsb4000

11 пока нет даже в современных дистрибутивах, в чём смысл?

4.2

В ubuntu 18.04 есть 11 Java.

Java 11 - текущий LTS, нравится тебе это или нет. Все претензии можешь высказывать Oracle.

hippi90 ★★★★★
()
Ответ на: комментарий от cyclon

Проблема решилась через помещение классов в package.

package somepackagename;
cyclon ★★★★★
() автор топика
Последнее исправление: cyclon (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.