Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate Struts2在maven冬眠_Hibernate_Maven_Struts2 - Fatal编程技术网

Hibernate Struts2在maven冬眠

Hibernate Struts2在maven冬眠,hibernate,maven,struts2,Hibernate,Maven,Struts2,如何在maven中将hibernate集成到struts2。我知道将hibernate依赖项添加到pom.xml中,但我不知道确切需要哪些jar文件。我尝试了hibernate的所有jar文件,导致404页面未找到错误。 能告诉我maven中Struts2 hibernate所需的jar文件是什么吗?举个例子吧 下面是pom.xml的代码 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w

如何在maven中将hibernate集成到struts2。我知道将hibernate依赖项添加到pom.xml中,但我不知道确切需要哪些jar文件。我尝试了hibernate的所有jar文件,导致404页面未找到错误。 能告诉我maven中Struts2 hibernate所需的jar文件是什么吗?举个例子吧

下面是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>
 <groupId>org</groupId>
  <artifactId>Strurts2Hibernate</artifactId>
  <packaging>war</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>Strurts2Hibernate Maven Webapp</name>
  <url>http://maven.apache.org</url>
 <profiles>
    <profile>
        <id>default-tools.jar</id>
        <activation>
            <property>
                <name>java.vendor</name>
                <value>Sun Microsystems Inc.</value>
            </property>
        </activation>
        <dependencies>
            <dependency>
                <groupId>com.sun</groupId>
                <artifactId>tools</artifactId>
                <version>1.6.0</version>
                <scope>system</scope>
                <systemPath>C:/Program Files/Java/jdk1.6.0_21/lib/tools.jar</systemPath>
            </dependency>
        </dependencies>
    </profile>
</profiles>
 <dependencies>
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
</dependency>

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.3.1.2</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.21</version>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.6.6</version>
</dependency>

<dependency>
    <groupId>antlr</groupId>
    <artifactId>antlr</artifactId>
    <version>2.7.7</version>
</dependency>


<dependency>
    <groupId>dom4j</groupId>
    <artifactId>dom4j</artifactId>
    <version>1.6.1</version>

</dependency>

<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.1.1</version>
</dependency>

<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.1</version>
</dependency>

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.16</version>
</dependency>


<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging-api</artifactId>
    <version>1.1</version>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator-annotation-processor</artifactId>
    <version>4.3.0.Final</version>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>4.3.0.Final</version>
    </dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.2.3.ga</version>

</dependency>

<dependency>
    <groupId>org.hibernate.javax.persistence</groupId>
    <artifactId>hibernate-jpa-2.0-api</artifactId>
    <version>1.0.1.Final</version>
</dependency>


<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-convention-plugin</artifactId>
    <version>2.3.4.1</version>
    <exclusions>
        <exclusion>
            <artifactId>commons-lang3</artifactId>
            <groupId>org.apache.commons</groupId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4</version>

</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.6.4</version>
</dependency>

<dependency>
    <groupId>asm</groupId>
    <artifactId>asm-tree</artifactId>
    <version>1.5.3</version>
</dependency>


 </dependencies>

  <build>
<finalName>Strurts2Hibernate</finalName>
<plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
</plugins>
</build>
</project>

4.0.0
组织机构
冬眠
战争
1.0-快照
Strurts2Hibernate Maven Webapp
http://maven.apache.org
default-tools.jar
java.vendor
太阳微系统公司。
com.sun
工具
1.6.0
系统
C:/Program Files/Java/jdk1.6.0_21/lib/tools.jar
朱尼特
朱尼特
3.8.1
测试
org.apache.struts
struts2型芯
2.3.1.2
mysql
mysql连接器java
5.1.21
org.slf4j
slf4j api
1.6.6
antlr
antlr
2.7.7
dom4j
dom4j
1.6.1
公用记录
公用记录
1.1.1
公地收藏
公地收藏
3.2.1
log4j
log4j
1.2.16
公用记录
通用日志api
1.1
org.hibernate
hibernate验证程序注释处理器
4.3.0.1最终版本
org.hibernate
休眠验证器
4.3.0.1最终版本
org.hibernate
冬眠
3.2.3.ga
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
1.0.1.最终版本
org.apache.struts
struts2约定插件
2.3.4.1
commons-lang3
org.apache.commons
javax.mail
邮件
1.4
org.slf4j
slf4j-log4j12
1.6.4
asm
asm树
1.5.3
冬眠
maven编译器插件
2.3.2
1.6
1.6
Web.xml

   <web-app>
<display-name>Struts 2 Web Application</display-name>

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

</web-app>

Struts 2 Web应用程序
支柱2
org.apache.struts2.dispatcher.ng.filter.strutspreadexecutefilter
支柱2
/*
Struts.xml

<struts>
  <constant name="struts.devMode" value="true" />

  <package name="myhibernate" extends="hibernate-default">

  <action name="addStudent" method="execute" class="com.in.AddStudentAction">
     <result name="success" type="redirect">
           listStudents
     </result>
  </action>

  <action name="listStudents" method="listStudents" class="com.in.AddStudentAction">
     <result name="success">/students.jsp</result>
  </action>

 </package>

 </struts> 

名单学生
/students.jsp

我在谷歌上搜索它说一些jar冲突找不到哪些jar文件……

我不确定到目前为止您都做了些什么,添加以下条目将为您完成大部分工作

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>3.x.x-Final</version>
</dependency>

org.hibernate
,因此,在这种情况下,您需要在pom.xml中添加以下条目

<repositories>
  <repository>
    <id>jboss-public-repository-group</id>
    <name>JBoss Public Repository Group</name>
    <url>http://repository.jboss.org/nexus/content/groups/public</url>
  </repository>
  ...
</repositories>

jboss公共存储库组
JBoss公共存储库组
http://repository.jboss.org/nexus/content/groups/public
...

希望这将对您有所帮助

我不确定您到目前为止所做的一切,添加以下条目将为您完成大部分工作

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>3.x.x-Final</version>
</dependency>

org.hibernate
,因此,在这种情况下,您需要在pom.xml中添加以下条目

<repositories>
  <repository>
    <id>jboss-public-repository-group</id>
    <name>JBoss Public Repository Group</name>
    <url>http://repository.jboss.org/nexus/content/groups/public</url>
  </repository>
  ...
</repositories>

jboss公共存储库组
JBoss公共存储库组
http://repository.jboss.org/nexus/content/groups/public
...

希望这将帮助您

这里最重要的是Maven将为您处理可传递的依赖项。这意味着您只需选择“顶级”持久性依赖项,所有次要内容(可传递依赖项)都将由Maven为您拉入。许多开发人员在尝试填充POM依赖项列表时仍然应用“我需要的所有JAR是什么”逻辑。这是不必要的,也是令人困惑的。您必须仔细阅读Hibernate/JPA文档,找出您真正需要的依赖项

在我的例子中,我使用一个使用JPA注释作为持久性方法的项目。在这种情况下,我们只需要POM中的单一、后续依赖项

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
    </dependency>

org.hibernate
休眠实体管理器
我看到您使用的是Hibernate4.x,所以您必须准确地确定您使用的是哪一个,但我向您保证,您的pom中有太多的内容

再举一个例子。您的slf4j依赖项可以使用相同的清理。如果您只是简单地声明单个:

   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
       <version>1.6.4</version>
   </dependency>

org.slf4j
slf4j-log4j12
1.6.4

Maven将为您获取所有其他(可传递的)依赖项,例如slf4j api和log4j12

这里最重要的是Maven将为您处理可传递依赖项。这意味着您只需选择“顶级”持久性依赖项,所有次要内容(可传递依赖项)都将由Maven为您拉入。许多开发人员在尝试填充POM依赖项列表时仍然应用“我需要的所有JAR是什么”逻辑。这是不必要的,也是令人困惑的。您必须仔细阅读Hibernate/JPA文档,找出您真正需要的依赖项

在我的例子中,我使用一个使用JPA注释作为持久性方法的项目。在这种情况下,我们只需要POM中的单一、后续依赖项

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
    </dependency>

org.hibernate
休眠实体管理器
我看到您使用的是Hibernate4.x,所以您必须准确地确定您使用的是哪一个,但我向您保证,您的pom中有太多的内容

再举一个例子。您的slf4j依赖项可以使用相同的清理。如果您只是简单地声明单个:

   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
       <version>1.6.4</version>
   </dependency>

org.slf4j
slf4j-log4j12
1.6.4

Maven将为您获取所有其他(可传递的)依赖项,例如slf4j api和log4j12

感谢Umesh查看我的代码我现在发布,这样您就可以全面了解问题。感谢Umesh查看我的代码我现在发布,这样您就可以全面了解问题。如果您发布了在服务器上部署/运行应用程序时遇到的确切错误,这会有所帮助。您不必知道所需的jar文件,这就是Maven的观点。看不见