HyperJaxb3 项目中发生了什么?
What's happening in HyperJaxb3 project?
我知道 Hyperjaxb3 库对我的项目非常有用,阅读了多个站点的一些描述,并决定将它嵌入到我的 Spring-Hibernate 项目中。
我在 https://jaxb.java.net/, which looks pretty official, but the hyperlink - http://confluence.highsource.org/display/HJ3/Home 中找到了对 Hyperjaxb3 的引用 - 打不开。
我找到了一些旧的 POM 示例,将其包含到我的项目中,并找到了一些旧版本的引用,试图消除它们,但现在看来我遇到了对旧 Hibernate 版本的依赖,错误是这样的:
java.util.ServiceConfigurationError:com.sun.tools.xjc.Plugin:提供程序 org.jvnet。hyperjaxb3.hibernate.plugin.HibernatePlugin 无法实例化:java.lang.NoClassDefFoundError:org/hibernate/type/MutableType
我想知道是否有更好的 Maven 条目、项目是否存在以及如何将它与现代 Hibernate 一起使用。
这是我关于 Hyperjaxb3 的 pom 摘录,我在其中排除了一些过时的链接并指定了其他依赖项的最新版本:
<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 实体 类,而是来自 PurchaseOdrer 示例的 POJO。这是我目前所做的:
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);
}
免责声明:我是 Hyperjaxb3 的作者。
项目托管于GitHub:
最新版本 0.6.1 可以正常运行。
不过,我已经不积极开发了
Will it work with the current version of hibernate?
版本 0.6.1 使用 Hibernate 4.1.7 进行了测试。 HJ3 只是一个代码生成器,它生成标准的 JPA 注释 类。所以它很有可能与最新版本的 Hibernate 一起工作。
I just can't get the 0.6.1 jar from Maven. Seems like it was eliminated from maven repositories.
真的吗?还在。
http://repo1.maven.org/maven2/org/jvnet/hyperjaxb3/hyperjaxb3-ejb-plugin/0.6.1/
An I don't understand if I need the "hyperjaxb3-hibernate-plugin" 0.1 from the year 2011.
你绝对不知道。
Or do you aware of any fork or an analog?
不幸的是,没有什么比这更接近了。
我知道 Hyperjaxb3 库对我的项目非常有用,阅读了多个站点的一些描述,并决定将它嵌入到我的 Spring-Hibernate 项目中。
我在 https://jaxb.java.net/, which looks pretty official, but the hyperlink - http://confluence.highsource.org/display/HJ3/Home 中找到了对 Hyperjaxb3 的引用 - 打不开。
我找到了一些旧的 POM 示例,将其包含到我的项目中,并找到了一些旧版本的引用,试图消除它们,但现在看来我遇到了对旧 Hibernate 版本的依赖,错误是这样的:
java.util.ServiceConfigurationError:com.sun.tools.xjc.Plugin:提供程序 org.jvnet。hyperjaxb3.hibernate.plugin.HibernatePlugin 无法实例化:java.lang.NoClassDefFoundError:org/hibernate/type/MutableType
我想知道是否有更好的 Maven 条目、项目是否存在以及如何将它与现代 Hibernate 一起使用。
这是我关于 Hyperjaxb3 的 pom 摘录,我在其中排除了一些过时的链接并指定了其他依赖项的最新版本:
<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 实体 类,而是来自 PurchaseOdrer 示例的 POJO。这是我目前所做的:
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);
}
免责声明:我是 Hyperjaxb3 的作者。
项目托管于GitHub:
最新版本 0.6.1 可以正常运行。
不过,我已经不积极开发了
Will it work with the current version of hibernate?
版本 0.6.1 使用 Hibernate 4.1.7 进行了测试。 HJ3 只是一个代码生成器,它生成标准的 JPA 注释 类。所以它很有可能与最新版本的 Hibernate 一起工作。
I just can't get the 0.6.1 jar from Maven. Seems like it was eliminated from maven repositories.
真的吗?还在。
http://repo1.maven.org/maven2/org/jvnet/hyperjaxb3/hyperjaxb3-ejb-plugin/0.6.1/
An I don't understand if I need the "hyperjaxb3-hibernate-plugin" 0.1 from the year 2011.
你绝对不知道。
Or do you aware of any fork or an analog?
不幸的是,没有什么比这更接近了。