JavaWeb问题汇总(暂时遇到这些
Maven配置
镜像配置
-
国内使用阿里云镜像
-
在setting.xml文件下的mirrors标签下粘贴以下内容:
<mirror> <id>aliyun-public</id> <mirrorOf>*</mirrorOf> <name>aliyun public</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> <mirror> <id>aliyun-central</id> <mirrorOf>*</mirrorOf> <name>aliyun central</name> <url>https://maven.aliyun.com/repository/central</url> </mirror> <mirror> <id>aliyun-spring</id> <mirrorOf>*</mirrorOf> <name>aliyun spring</name> <url>https://maven.aliyun.com/repository/spring</url> </mirror> <mirror> <id>aliyun-spring-plugin</id> <mirrorOf>*</mirrorOf> <name>aliyun spring-plugin</name> <url>https://maven.aliyun.com/repository/spring-plugin</url> </mirror> <mirror> <id>aliyun-apache-snapshots</id> <mirrorOf>*</mirrorOf> <name>aliyun apache-snapshots</name> <url>https://maven.aliyun.com/repository/apache-snapshots</url> </mirror> <mirror> <id>aliyun-google</id> <mirrorOf>*</mirrorOf> <name>aliyun google</name> <url>https://maven.aliyun.com/repository/google</url> </mirror> <mirror> <id>aliyun-gradle-plugin</id> <mirrorOf>*</mirrorOf> <name>aliyun gradle-plugin</name> <url>https://maven.aliyun.com/repository/gradle-plugin</url> </mirror> <mirror> <id>aliyun-jcenter</id> <mirrorOf>*</mirrorOf> <name>aliyun jcenter</name> <url>https://maven.aliyun.com/repository/jcenter</url> </mirror> <mirror> <id>aliyun-releases</id> <mirrorOf>*</mirrorOf> <name>aliyun releases</name> <url>https://maven.aliyun.com/repository/releases</url> </mirror> <mirror> <id>aliyun-snapshots</id> <mirrorOf>*</mirrorOf> <name>aliyun snapshots</name> <url>https://maven.aliyun.com/repository/snapshots</url> </mirror> <mirror> <id>aliyun-grails-core</id> <mirrorOf>*</mirrorOf> <name>aliyun grails-core</name> <url>https://maven.aliyun.com/repository/grails-core</url> </mirror> <mirror> <id>aliyun-mapr-public</id> <mirrorOf>*</mirrorOf> <name>aliyun mapr-public</name> <url>https://maven.aliyun.com/repository/mapr-public</url> </mirror>
-
建立本地仓库
建立本地仓库:不用每次都去网上下载各种包
-
在maven下新建一个文件夹,命名为maven-repo,复制这个地址,在setting.xml文件中进行粘贴,路径自己安装到哪就写哪
<localRepository>E:\Java environment\apache-maven-3.9.3\maven-repo</localRepository>
Maven环境优化
将web.xml中的配置内容更换为最新的
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
</web-app>
Tomcat10问题
最新的不一定是最好的!!!如果可以的话还是建议安装Tomcat10以下版本
Servlet依赖
因为我使用的是Tomcat10,所以遇到很多依赖的问题,在pom.xml中很多依赖都不适配,于是在网上冲浪了一次又一次,将我遇到的问题总结一下。
-
在jsp中写Java代码不会自动补充,比如
out.println
爆红,直接换这个依赖(7.30修改版本至6.0.0)<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.0.0</version> </dependency>
JSTL依赖
经测试后,发现jakarta.servlet.jsp.jstl
依赖用这个版本才行,maven仓库下的最新版本不行,可能是因为我用的Tomcat10,从一开始的Servlet到现在一直有各种各样的问题,Tomcat10一生之敌。
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
<version>2.0.0</version>
</dependency>
<!--Standard标签库依赖-->
<!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
<scope>runtime</scope>
</dependency>
不再支持源选项6,请使用7或更高版本
运行Tomcat时突然又给我报错!
在网上冲浪一番后,得到解决方案:
-
先检查Project Structures中,JDK版本是否是自己的JDK版本
-
然后看Settings中JDK版本
-
还是不行就将以下内容添加到pom.xml文件中
properties
标签内,我的JDK版本是17.0.6,所以根据自己JDK的版本进行相应的更改。<properties> <!-- 以下内容添加至properties标签内 --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <java.version>17.0.6</java.version> <maven.compiler.source>17.0.6</maven.compiler.source> <maven.compiler.target>17.0.6</maven.compiler.target> </properties>
-
还有一种就是修改maven配置文件setting.xml,在setting.xml中添加以下信息到
profiles
标签中:也是根据自己JDK版本进行相应的更改。
<profile> <id>jdk-17.0.6</id> <activation> <activeByDefault>true</activeByDefault> <jdk>17.0.6</jdk> </activation> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>17.0.6</maven.compiler.source> <maven.compiler.target>17.0.6</maven.compiler.target> </properties> </profile>
-
顺便把setting.xml里面这个部分也改一下吧,感觉统一JDK版本应该没什么问题
<profile> <id>jdk-17.0.6</id> <activation> <jdk>17.0.6</jdk> </activation> <repositories> <repository> <id>jdk14</id> <name>Repository for JDK 17.0.6 builds</name> <url>http://www.myhost.com/maven/jdk14</url> <layout>default</layout> <snapshotPolicy>always</snapshotPolicy> </repository> </repositories> </profile>
后面如果遇到了其他问题再更新~希望每个人都能顺顺利利解决自己的问题!也非常感谢网络上许多为大家提供解决方法的人们!!