一、MyEclipse
MyEclipse百度网盘安装包
提取码:c6gg
1、若以启动过tomcat,在浏览器里输入网址 localhost:8080/ 后出现有一只猫的那个页面,说明Tomcat以成功开启,但是输入 .jsp 后出现结果 404,可能的原因:
1)路径错误
http://localhost:端口号/项目名/MyJsp.jsp(如果没有相关的SSM的xml说明,则jsp的位置应该和index.jsp在一起,才能访问到)
2)没有把它部署到deployment下
方法:在工具栏下打开如下步骤所示
Manage Deployments---->Module---->选中你要部署的类----->add---->(Deploy modules下的)Finish---->ok
2、当启动Tomat时出现Address already in use:bind
说明端口被占用,我们需要把它kill掉
1)netstat -ano |findstr “端口号”,如果没有东西输出说明没有应用占用这个端口号,如果被占用了会出现一个进程号
2)taskkill /f /pid 进程号。
tasklist |findstr “进程号”,会出现相关进程的应用程序。我们可以看到该应用程序为javaw.exe。
如果要关掉应用可以taskkill /im javaw.exe /f
3、调节tomcat启动时间
双击sever下的tomcat容器,可以看到右侧有一个Timeouts,增大start(in seconds) 后面的时间。最后保存,按ctrl+s就可以保存到tomcat配置文件中了。
4、MyEclipse下安装配置Mybatis(使用Mybatis-generator)
1)在MyEclipse中安装Mybatis Generator
①下载mybatis_generator安装包,把它解压到MyEclipse的安装路径下的dropin文件夹内。有eatures和plugins两个文件夹f。
Mybatis_generator百度网盘安装包
提取码:715m
②重启MyEclipse,依次点击File->new->other,搜索"mybatis"出现"Mybatis Generator Configuration File"说明安装成功
2)配置本地Maven插件并导入MyEclipse
①下载apache-maven-3.6.2-bin.zip安装包,在电脑上新建一个文件夹maven,将该安装包解压至maven文件夹里,并在里面新建一个文件夹repository(作为仓库,通过下载的jar都存放在里面)。
apache-maven-3.6.2百度网盘安装包
提取码:wrgh
②maven默认的中央仓库下载速度慢,换成阿里的镜像,并将下载的仓库换成repository的地址。
a、打开E:\maven\apache-maven-3.6.2\conf下的setting.xml文件
b、找到 mirrors,并在该标签下添加阿里云maven镜像,代码为
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf>
</mirror>
c、找到localRepository,把地址改为文件夹repository的位置
如:<localRepository>E:\maven\repository</localRepository>
③为maven配置环境变量
a、此电脑---->属性---->高级系统设置---->高级---->环境变量
b、新建系统变量,变量名为 M2_HOME,值为E:\maven\apache-maven-3.6.2(插件所处路径)
c、在系统变量path中,添加%M2_HOME%bin
(注意:若 path 中所有变量只有一行,则在最后添加时注意先加一个英文的分号,即添 加;%M2_HOME%\bin)
④测试maven插件是否安装成功
cmd打开命令窗口,输入mvn -v,回车出现下面图片则安装成功
⑤将maven插件导入MyEclipse
a、点击window->preference,搜索maven,选中installations选项,点击Add,将本地Maven导入(即apache-maven-3.6.2的 位置),apply。
b、点击 User Settings,之后在User Settings处点击 Browser,将 D:\maven\apache-maven-3.6.2\conf 路径下的 settings.xml 文件导入,之后选择 Apply,检查Local Repository处会更新为自己创建的仓库目录(未更新请关闭 MyEclipse 重启),OK。
5、创建maven项目
依次点击File->new->other,搜索maven,双击maven project,这是有两个选项。
1)选中Create a simple project,next
①输入maven相关信息
Group Id:项目组名,com\cn\org等
Artifact Id:工程名,MavenDemo
Version:版本号
Packaging:打包方式(有三种,.jar:表示Java项目,.war:表示web项目,.pom:表示maven项目)
②使用Mybatis-generator自动生成代码
a、在MySQL中建立用于测试的数据库test1,有一用户表为users
create database test1;
use test1;
CREATE TABLE `users`
( `id` int(11) NOT NULL AUTO_INCREMENT,
`account` varchar(11) NOT NULL,
`username` varchar(50) NOT NULL,
`password` varchar(100) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
insert into users values(1,1,1,1),(2,2,2,2),(3,3,3,3);
b、在当前Maven项目中新建generatorConfig.xml 配置文件。
右键点击MavenDemo/src/main/resource文件夹,选择new->other,搜索Mybatis,双击Mybatis Generator Configuration File,确认路径(/MavenDemo/src/main/resources)和名称(generatorConfig.xml)。
c、修改generatorConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration >
<!-- 在自己创建的 repository 本地仓库中找到 mysql-connector-java 的位置,粘贴至此 -->
<classPathEntry location="E:\Maven\repository\mysql\mysql-connector-java\mysql-connector-java-8.0.17.jar"/>
<context id="MySLQ8_context" targetRuntime="MyBatis3">
<commentGenerator>
<!--去除注释-->
<property name="suppressAllComments" value="false"/>
<!--注释中去除日期注释-->
<property name="suppressDate" value="true"/>
<!--注释中添加数据库字段备注注释-->
<property name="addRemarkComments" value="true"/>
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test1"
userId="root" password="4834">
<!--MySQL 8.x 需要指定服务器的时区-->
<property name="serverTimezone" value="UTC"/>
<!--MySQL 不支持 schema 或者 catalog 所以需要添加这个-->
<!--参考 : http://www.mybatis.org/generator/usage/mysql.html-->
<property name="nullCatalogMeansCurrent" value="true"/>
<!-- MySQL8 默认启用 SSL ,不关闭会有警告-->
<property name="useSSL" value="false"/>
</jdbcConnection>
<!-- 默认 false,把 JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true 时把 JDBC DECIMAL 和 NUMERIC 类型解析为 java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- targetProject:java 实体对象类 bean 的生成位置 -->
<javaModelGenerator targetPackage="com.bean" targetProject="src/main/java">
<!-- enableSubPackages:是否让 schema 作为包的后缀 -->
<property name="enableSubPackages" value="false"/>
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- targetProject:mapper 映射文件的生成位置 -->
<sqlMapGenerator targetPackage="com.mapper" targetProject="src/main/java">
<!-- enableSubPackages:是否让 schema 作为包的后缀 -->
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</sqlMapGenerator>
<!-- targetPackage:数据库操作 Dao 接口的位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="src/main/java">
<!-- enableSubPackages:是否让 schema 作为包的后缀 -->
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- 指定数据库表,可添加多个;tablename 为数据库表名,domainObjectName 为 生成对象名 -->
<table tableName="users" domainObjectName="User"/>
</context>
</generatorConfiguration>
保存文件。
d、在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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lxc</groupId>
<artifactId>MavenDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- java 配置文件 -->
<properties>
<java.version>1.8</java.version>
<java.encoding>UTF-8</java.encoding>
</properties>
<!-- 添加所需依赖 -->
<dependencies>
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
<!-- 连接 Mysql,建议选择之前 java 作业中可以连接至 mysql 的对应版本 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>
</dependencies>
<build>
<!-- 添加所需插件 -->
<plugins>
<!-- 添加 mybatis-generator 插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.3</version>
<configuration>
<!-- 指定对应路径下的 generatorConfig.xml 文件 -->
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
</project>
保存文件,之后会自动下载相应版本的依赖和插件至我们设置的 repository 仓库中。
e、右键单击pom.xml文件,点击Maven build…,在弹出窗口 Goals 处输入 mybatis-generator:generate,点击 Run。控制台出现 BUILD SUCCESS 则生成成。
③测试在 Maven 项目中使用 Mybatis。
a、在 src/main/resources 目录下新建 xml文件,Mybatis 的核心配置文件 mybatis-config.xml。
b、修改mybatis-config.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!-- 数据库驱动 --> <
property name="url" value="jdbc:mysql://localhost:3306/test1?serverTimezone=UTC"/>
<!--连接至数据 库表 -->
<property name="username" value="root"/>
<!--数据库用户名称 -->
<property name="password" value="123456"/>
<!--数据库用户密码 -->
</dataSource>
</environment>
</environments>
<mappers>
<!--指定刚刚生成的 com/mapper 下的映射文件 UserMapper.xml -->
<mapper resource="com/mapper/UserMapper.xml"/>
</mappers>
</configuration>
c、在 MavenDemo/src/test/java 下新建 MybatisTest 测试类,代码如下:
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.lxc.bean.User;
import com.lxc.dao.UserMapper;
public class MybatisTest
{
public void test()
{
InputStream in = null;
//加载 Mybatis 配置文件
try {
in = Resources.getResourceAsStream("mybatis-config.xml");
//根据相关的 mybatis 配置文件, 创建连接 SQLSessionFactory 连接对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//创建出 SQLSession 对象
SqlSession sqlSeesion = factory.openSession();
//通过 sqlSession 取到映射接口
UserMapper userMapper = sqlSeesion.getMapper(UserMapper.class);
User user = userMapper.selectByPrimaryKey(1);
System.out.println("userid:"+user.getId()+"\nusername:"+user.getUsernam e()+"\nuseraccount:"+user.getAccount()+"\nuserpassword:"+user.getPassword()) ;
} catch (IOException e){
e.printStackTrace(); }
}
public static void main (String[] args) throws Exception
{
MybatisTest test1 = new MybatisTest();
test1.test();
}
}
之后运行,控制台会输出相应数据。
2)选中Use default Workspace location,next(用第一种会生成webRoot,当你添加maven依赖时你需要把jar文件一个个导入webRoot下的Web-INF/lib目录下,而后面这个在src/main下有webapp这个文件夹,相当于webRoot,但不用导入jar)
①选择New Maven project下的maven-archetype-webapp->点击advanced下的Name template->选择artifactId(如果没有这步,创建的文件名后面会一直带有Maven Webapp)这里的Group Id设置与第一种方法相同。
②配置maven
a、添加Source文件夹
右键maven项目->new->Source Folder->添加src/main/java、src/main/resources、src/test/java、src/test/resources(显示the folder is already a source folder说明存在)
b、右键properties->Java Buile Path->Libraries->JRE System…->Edit->选择Execution environment(JavaSE-1.7)…(如果没有这步会出现src/main/java(missing)等)
③更改class路径
双击每个文件夹的Output folder,选择路径
src/main/java,src/main/resources,选择target/classes;
src/test/java ,src/test/resources, 选择target/test-classes;
③右键属性 project Facets->切换Dynamic Web Module出现Cannot change version of…to 3.0
(这是因为新建项目的时候,用了maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的)
a、修改org.eclipse.jdt.core.prefs中的1.5都改成1.7
b、修改org.eclipse.wst.common.project.facet.core.xml,把Java的version 改成1.7,jst.web的version 改成3.0
④之后配置的generatorConfig.xml,pom.xml,mybatis-config.xml与步骤1)的相同。
6、右键pom.xml,Run As后点击Maven build…时,会出现 org.mybatis.generator:mybatis-generator-maven-plugin:1.3.3:generate (default-cli) on project MavenDemo: configfile E:\MyEclipse\MavenDemo\src\main\resources\generatorConfig.xml does not exist
可能是在pom.xml里把generatorConfig.xml的路径写错了。
当出现BUILD SUCCESS但是又没有看见创建的包或相应的想xml,如UserMapper.xml时可能是表名配置出现错误。
7、Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from http://maven.aliyun.com/nexus/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of alimaven has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from/to alimaven (http://maven.aliyun.com/nexus/content/groups/public/): maven.aliyun.com
原因::Maven项目报错,该项目是之前创建的本地项目,中间重新安装maven本地仓库之后,修改了本地仓库的名称,导致路径不一致,然后再通过开发工具打开项目时,pom.xml文件报错。
1)、强制更新项目:
首先右键Maven -Update Project,勾选强制更新选项;如果问题被解决,那就不用往下看了。在update Maven Project里选择Force Update of Snapchat/Releases
2)、如果还不行的话,去Maven本地配置E:\maven\repository\org\apache\maven\plugins\maven-resources-plugin\2.6,备份2.6下的文件,之后再删除。
8、Failure to transfer com.thoughtworks.xstream:xstream:pom:1.3.1 from http://maven.aliyun.com/nexus/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of alimaven has elapsed or updates are forced. Original error: Could not transfer artifact com.thoughtworks.xstream:xstream:pom:1.3.1 from/to alimaven (http://maven.aliyun.com/nexus/content/groups/public/): Read timed out pom.xml
我按照网上的在在settings.xml中添加如下配置
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
但是我的原本就有,这样还是不行的话,之后把E:\maven里的文件删了重新安装就可以了。
9、Communications link failure解决办法(在MySQL出现 NO CONNECTION 也可使用此方法)
打开MySQL服务即可
右键电脑-管理-服务-MySQL-启动
10、当myeclipse导入的文件出现乱码,若用TXT打开该文件没有出现乱码
可能是该文件在两个文件里编码不一样,如txt里是以utf-8编码的,我们可以修改MyEclipse的编码方式。
1)、Windows---->Perferences----->General---->Workspace—>在Text file encoding下选中Other中的UTF-8----->apply。
2)、Windows---->Perferences----->General---->content Type---->Text----->Java Source File—>选中java文件---->Default encoding下输入UTF-8—>Update–>ok.
(以上方法我好像都试过了,之前的我也记不清有没有效了,但我最近有用了方法1是有效的)
11、当运行一个xxx.cmd出现闪退的话,可以先打开cmd,之后在里面输入
1)、cmd /k ipconfig /all命令
2)、再输入xxx.cmd所在路径+xxx.cmd
如:
E:\maven\apache-maven-3.6.2\bin\mvn.cmd
这样就可以看到打印的错误了
12、The container ‘Maven Dependencies’ references non existing library ‘E:\maven\repository\junit\junit\4.11\junit-4.11.jar’
先右键Pom.xml文件,选择Run As后双击maven build,之后点击项目update project,之后再clean
13、出现Cause: org.apache.ibatis.executor.ExecutorException: Executor was closed
可能的原因是:在使用session之前就把他给关闭了,后面再使用时session已经被关闭了。
二、eclipse
1、当出现错误 “在类中找不到main方法,请将main方法定义为public static void main[String[] args],否则JavaFX应用程序类必须扩展…”
可能是没保存,运行前先按一下ctrl+s,或者右键save,保存一下之后再运行之后就没事了。
2、当出现错误 “找不到或无法加载主类 com.mysql.jdbc.DocsConnectionPropsHelper”
原因是我们选择的运行方式出现错误,可能选择成DocsConnectionPropsHelper,需要在运行时选择为Java应用程序。