Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/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
Maven不编译java文件_Maven - Fatal编程技术网

Maven不编译java文件

Maven不编译java文件,maven,Maven,这是我的文件夹结构- ![Project explorer][1] --project> --src --main --java --resource --target pom.xml 这是我的Pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven

这是我的文件夹结构-

![Project explorer][1]
--project>
  --src
    --main
      --java
      --resource
  --target
pom.xml   
这是我的Pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mkyong</groupId>
    <artifactId>spring-security-loginform-xml</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>SpringSecurity Custom Login Form XML</name>
    <url>http://www.mkyong.com/tutorials/spring-security-tutorials/</url>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>mkyong</id>
            <name>Yong Mook Kim</name>
            <email>mkyong2002@gmail.com</email>
        </developer>
    </developers>
    <properties>
        <jdk.version>1.6</jdk.version>
        <spring.version>3.2.8.RELEASE</spring.version>
        <spring.security.version>3.2.3.RELEASE</spring.security.version>
        <jstl.version>1.2</jstl.version>
    </properties>

    <dependencies>

        <!-- Spring 3 dependencies -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>

        <!-- Spring Security -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>${spring.security.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${spring.security.version}</version>
        </dependency>

        <!-- jstl for jsp page -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>${jstl.version}</version>
        </dependency>

    </dependencies>

    <build>
        <finalName>SpringSecurityHelloWorld</finalName>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>false</downloadJavadocs>
                    <wtpversion>2.0</wtpversion>
                </configuration>
            </plugin>

        </plugins>
        <sourceDirectory>${basedir}/src</sourceDirectory>
    </build>

</project>

4.0.0
com.mkyong
spring安全登录表单xml
战争
1.0-快照
SpringSecurity自定义登录表单XML
http://www.mkyong.com/tutorials/spring-security-tutorials/
Apache软件许可证,版本2.0
http://www.apache.org/licenses/LICENSE-2.0.txt
回购
mkyong
金永木
mkyong2002@gmail.com
1.6
3.2.8.1发布
3.2.3.1发布
1.2
org.springframework
弹簧芯
${spring.version}
org.springframework
弹簧网
${spring.version}
org.springframework
SpringWebMVC
${spring.version}
公用记录
公用记录
1.1.1
org.springframework.security
spring安全网
${spring.security.version}
org.springframework.security
spring安全配置
${spring.security.version}
jstl
jstl
${jstl.version}
SpringSecurityHelloWorld
org.apache.maven.plugins
maven编译器插件
2.3.2
${jdk.version}
${jdk.version}
org.apache.maven.plugins
maven eclipse插件
2.9
真的
假的
2
${basedir}/src
当我要修改java文件或控制器中的代码时,这些代码在我运行项目时不会产生影响。我认为Maven没有编译Java代码

文件夹结构是否正确? 类文件在项目中的何处生成


任何人都可以提出解释。

根据你的问题和下面的评论,我试图给你一个答案:

文件夹结构是否正确

是的。它遵循此处描述的Maven标准目录结构:

但是,它遗漏了一个webapp文件夹(见下一点),它不会使您的构建失败,而是以包含
WEB-INF
文件夹的
war
结束-因此它不是Java EE标准()定义的标准WebApplication

项目中生成的类文件在哪里

maven运行默认生命周期()的阶段
编译
mvn编译
)后,编译的类文件将放在
/target/classes

如果您继续进行
mvn包
)阶段,maven将构建一个
war
jar
是pom中覆盖的默认
类型),其中包含您的类以及放置在
/target
下的资源

注意:如果您正在构建一个web应用程序,您可以将网站的内容(如部署描述符(
web.xml
)或HTML/JSP/JSF页面等)放在文件夹
src/main/webapp
下(
web-INF
文件夹应位于
src/main/webapp/web-INF
下)

关于评论讨论

如果您希望看到Java文件中的动态变化,Maven将不支持您开箱即用。Maven是一个构建工具-例如,如果您在项目中更改了某些内容,您将要求Maven重新构建项目,以可部署的形式准备好更改(例如,您在
/target
文件夹中有一个
war
文件,您可以部署该文件)

如果您想动态查看更改,您应该尝试Web搜索主题,如
Hotdeployment
JRebel
嵌入式jetty
,因为有很多选项可用于存档此内容


让hotdeploy“开箱即用”的一种通用方法是将hotdeploy支持的(web)(应用程序)服务器的分解目录指向maven构建的分解目录。与您将找到的
spring登录安全xml.war
位于同一级别,它是一个文件夹
spring登录安全xml
,其中包含未打包的web应用程序。然而,这并不能让您在每次更改时都有一个构建

抱歉,我没有权限发布图像,例如“pom.xml”不在“src”旁边,而是在项目文件夹之外。它应该在项目的顶部。类文件将在顶层的“target”(也在“src”旁边)中生成。对不起,所有连接问题--project>--src--main--java--resource--target pom.xml,就在src文件夹的旁边。下一步:尝试删除
sourceDirectory
标记。不管怎么看,您都在使用默认值。当你运行它时,你从Maven那里得到了什么错误消息?你是说,当应用程序运行时,你更改了一些Java代码,并期望Maven自动编译它,以便这些更改立即在你的应用程序中可见?