当前位置: 首页 > 知识库问答 >
问题:

“Spring。将项目从Eclipse迁移到IntelliJ时xml的IOException问题

易自珍
2023-03-14

我从另一位同事使用Eclipse创建的TSF中提取了一个Java项目,然而,每当我在IntelliJ中打开该项目时,它都会出现以下运行时异常:

线程“main”组织中出现异常。springframework。豆。工厂BeanDefinitionStoreException:IOException从类路径资源[spring.XML]解析XML文档;嵌套的异常是java。io。FileNotFoundException:无法打开类路径资源[spring.xml],因为它不存在。。。

我使用Maven下载了所有的项目依赖项,这些依赖项似乎工作得很好,因为我没有收到任何编译时异常。

我已经将大部分项目配置设置上传到这个imgur相册,希望它能有所帮助。

主要的Java语言

ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

Springxml

    <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.3.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.3.xsd">

        <bean id="ApplicationConfiguration" class="com.XXX.YYY.ZZZ.ApplicationConfiguration" />
        <bean id="TableFactory" class="com.XXX.YYY.ZZZ.TableFactory">
            <constructor-arg ref="ApplicationConfiguration" />
        </bean>
        <bean id="ItemFactory" class="com.XXX.YYY.ZZZ.datagen.ItemFactory"/>        
        <bean id="ItemWritersPool" class="com.XXX.YYY.ZZZ.ItemWritersPool">        
            <constructor-arg ref="ItemWriterFactory" />
            <constructor-arg ref="ApplicationConfiguration" />
        </bean>
        <bean id="ItemWriterFactory" class="com.XXX.YYY.ZZZ.ItemWriterFactory">
            <constructor-arg ref="ApplicationConfiguration" />
            <constructor-arg ref="TableFactory" />
            <constructor-arg ref="ItemFactory" />
        </bean>
        <bean id="ItemReadersPool" class="com.XXX.YYY.ZZZ.ItemReadersPool">
            <constructor-arg ref="ItemReaderFactory" />
            <constructor-arg ref="ApplicationConfiguration" />
        </bean>
        <bean id="ItemReaderFactory" class="com.XXX.YYY.ZZZ.ItemReaderFactory">
            <constructor-arg ref="TableFactory" />
        </bean>

</beans>

项目iml公司

<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
  <component name="EclipseModuleManager">
    <conelement value="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER" />
    <src_description expected_position="0">
      <src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
    </src_description>
  </component>
  <component name="FacetManager">
    <facet type="Spring" name="Spring">
      <configuration>
        <fileset id="fileset" name="Spring Application Context" removed="false">
          <file>file://$MODULE_DIR$/src/spring.xml</file>
          <file>jar://$MAVEN_REPOSITORY$/io/netty/netty/3.6.3.Final/netty-3.6.3.Final.jar!/org/jboss/netty/container/spring/beans.xml</file>
          <file>jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/3.2.3.RELEASE/spring-context-3.2.3.RELEASE.jar!/org/springframework/scheduling/annotation/AbstractAsyncConfiguration.class</file>
          <file>jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/3.2.3.RELEASE/spring-context-3.2.3.RELEASE.jar!/org/springframework/cache/annotation/AbstractCachingConfiguration.class</file>
          <file>jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/3.2.3.RELEASE/spring-context-3.2.3.RELEASE.jar!/org/springframework/context/annotation/LoadTimeWeavingConfiguration.class</file>
          <file>jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/3.2.3.RELEASE/spring-context-3.2.3.RELEASE.jar!/org/springframework/context/annotation/MBeanExportConfiguration.class</file>
          <file>jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/3.2.3.RELEASE/spring-context-3.2.3.RELEASE.jar!/org/springframework/scheduling/annotation/ProxyAsyncConfiguration.class</file>
          <file>jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/3.2.3.RELEASE/spring-context-3.2.3.RELEASE.jar!/org/springframework/cache/annotation/ProxyCachingConfiguration.class</file>
          <file>jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/3.2.3.RELEASE/spring-context-3.2.3.RELEASE.jar!/org/springframework/scheduling/annotation/SchedulingConfiguration.class</file>
          <file>file://$MAVEN_REPOSITORY$/org/springframework/spring-context/3.2.3.RELEASE/spring-context-3.2.3.RELEASE.jar</file>
        </fileset>
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
    <output url="file://$MODULE_DIR$/target/classes" />
    <output-test url="file://$MODULE_DIR$/target/test-classes" />
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
      <excludeFolder url="file://$MODULE_DIR$/target" />
    </content>
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="inheritedJdk" />
    [-- some items manually removed --]
    <orderEntry type="library" name="Maven: org.springframework:spring-core:3.2.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:3.2.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:3.2.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aop:3.2.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:3.2.3.RELEASE" level="project" />
    [-- some items manually removed --]
      </component>
    </module>

如有任何建议,我们将不胜感激。提前感谢!

共有2个答案

夏侯野
2023-03-14

有时这可能是工作目录的问题。这篇博客文章解释了这个问题以及如何解决它。

IntelliJ与Eclipse的不同之处在于,它将工作目录设置为项目根目录,而项目根目录可能与您正在处理的模块的顶级目录不同。

通过将工作目录设置为$$MODULE\u DIR$,可以在运行配置中修复此问题。

如果这有助于设置默认JUnit运行配置中的工作目录以及修复所有剩余的运行配置。

卢俊发
2023-03-14

在您的配置中似乎一切正常,因此我使用一个小项目进行了检查,问题似乎可能来自您在XML头中使用的冗余名称空间。

尝试修改以下内容:

<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.3.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.3.xsd">

要产生这样的结果:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

如果这不起作用,你也可以调整你的<代码>。iml文件,方法如下:

org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true"。您可以通过将true替换为false来快速测试,并让IntelliJ重新加载您的项目。我不知道IntelliJ为什么忽略您的spring.xml文件,但如果您像Maven建议的那样为源和资源使用2个单独的目录,您的问题应该会消失。

您还应该创建目录src/main/resources,并放置spring。xml文件。

希望这有帮助。

 类似资料:
  • 我刚刚从eclipse转移到IntelliJ。我有一个Spring启动项目,在eclipse中运行完美。但是当我试图在IntelliJ上运行它时,我得到了“进程完成并退出代码1”,我已经尝试了所有接下来的解决方案: https://stackoverflow.com/search?q=eclipseintellijSpring靴 但什么都不管用。有什么建议吗?Spring启动配置

  • 本文向大家介绍intellij-idea 从Eclipse迁移,包括了intellij-idea 从Eclipse迁移的使用技巧和注意事项,需要的朋友参考一下 示例 Intellij IDEA试图通过允许开发人员单击几下即可将Eclipse项目迁移到IDEA结构上,来吸引使用Eclipse进行开发的广泛Java爱好者! 首先,启动IDEA并Import Project从启动窗口中单击:然后,使用资

  • 问题内容: 由于办公室人员的变动,C#专业知识的水平急剧下降,现在有更多的Java开发人员。至此,高层人士正在考虑将用C#编写的现有.NET项目转移到Java世界中。 除了从头开始完全出现 的明显问题之外,该公司还可以通过哪些可行的方法成功地将项目从.NET C#移植到Java? 问题答案: 这里是要考虑的事情: 这是大项目吗?如果是,请尝试使用C# 这个中型项目是否包含组件?如果否,请尝试使用C

  • 迁移数据库ORM层 迁移模板Blade 迁移分页 迁移验证器 迁移Cache

  • 数据库 模板类 验证器 缓存类

  • 在我们公司,我们有一个必须使用的Eclipse错误/警告设置的严格列表。使用此列表编译更改时,在签入之前不应存在任何错误/警告。 这些错误/警告可以在Eclipse的首选项下找到- 我是IntelliJ用户。IntelliJ有一个类似的概念,叫做“检查”。检查设置可以在设置下找到- 是否有人知道如何将Eclipse错误/警告迁移到最接近的IntelliJ检查设置上。我可以看到有一种方法可以导出/导