Я понимаю, что библиотека Hyperjaxb3 будет очень полезна для моего проекта, прочитала пару описаний на нескольких сайтах и решила встроить ее в мой проект Spring-Hibernate.Что происходит в проекте HyperJaxb3?
Я нашел ссылку на Hyperjaxb3 в https://jaxb.java.net/, которая выглядит довольно официальной, но гиперссылка - http://confluence.highsource.org/display/HJ3/Home - не открывается.
Я нашел несколько старых примеров POM, включил их в свой проект и нашел некоторые из ссылок на старые версии, попытался их устранить, но сейчас кажется, что я нахожусь в зависимости от старой версии Hibernate, ошибка выглядит так:
java.util.ServiceConfigurationError: com.sun.tools.xjc.Plugin: Provider org.jvnet.hyperjaxb3.hibernate.plugin.HibernatePlugin не может быть создан: java.lang.NoClassDefFoundError: орг/hibernate/type/MutableType
Мне интересно, есть ли более эффективная запись Maven, если проект жив и как я могу использовать его с более сложным спящим режимом.
Это мой П отрывок о Hyperjaxb3, где я исключить устаревшие ссылки и указать последние версии других зависимостей:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-core</artifactId>
<version>${jaxb-version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>${jaxb-version}</version>
</dependency>
<!--<dependency>
<groupId>org.jvnet.hyperjaxb3</groupId>
<artifactId>hyperjaxb3</artifactId>
<version>0.6.1</version>
</dependency> -->
<dependency>
<groupId>org.jvnet.hyperjaxb3</groupId>
<artifactId>hyperjaxb3-hibernate-plugin</artifactId>
<version>0.1</version>
<exclusions>
<exclusion>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</exclusion>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>net.sf.saxon</groupId>
<artifactId>saxon</artifactId>
</exclusion>
<exclusion>
<groupId>net.sf.saxon</groupId>
<artifactId>saxon-dom</artifactId>
</exclusion>
<exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm-attrs</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.2</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
Я не в настоящее время пытаюсь генерировать аннотированные классы сущностей Hibernate, но POJOs от Пример PurchaseOdrer. Это то, что я в настоящее время сделать:
public void initializeModel(String name, InputStream src, String dir) throws IOException, URISyntaxException{
dir = Paths.get(new URL(dir).toURI()).toString();
File directory = new File(dir);
directory.mkdirs();
SchemaCompiler sc = XJC.createSchemaCompiler();
sc.setDefaultPackageName(this.getClass().getPackage().getName() + ".generated");
InputSource is = new InputSource(src);
is.setSystemId(name);
sc.parseSchema(is);
S2JJAXBModel model = sc.bind();
JCodeModel codeModel = model.generateCode(null, null);
CodeWriter cw = new FileCodeWriter(directory);
codeModel.build(cw);
}
Спасибо! Несколько вопросов, извините. Будет ли он работать с текущей версией спящего режима? – fedd
это интересно. Я просто не могу получить 0,6,1 баночку от Maven. Похоже, что он был исключен из хранилищ maven. Я не понимаю, нужен ли мне «hyperjaxb3-hibernate-plugin» 0.1 с 2011 года. Или вы знаете о какой-либо вилке или аналоговом? Благодаря! – fedd
@fedd См. Обновление. – lexicore