使用java时报的一些错误
mysql-connector-java报not found的错误
ftp上传文件失败原因
1、mysql-connector-java报not found的错误
在网上查,很容易查找到java连接数据库的方法,无论mysql和oracle,使用JDBC连接都可以做到。但是问题是,我使用的maven,如下依赖会报not found的错误。
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency>
我对java和IDE完全是个新手,了解了maven本地仓库在C://用户/用户名/.m文件夹下,发现了相关的jar文件的确不存在。在网上连接mysql的教程下也有下载相关jar的链接,后期我才想到这个可能是就是因为maven中不存在这个jar才会提供下载。但是下了jar我也不知道怎么弄进去,毕竟我才学到Import Change和复制粘贴,而这个maven项目里好像并不能直接复制粘贴。
后来查完教程,一步步在window上配置maven,然后将下载好的jar导入到maven本地库中。
配置maven的方法网上查就好,配置好maven后在命令行运行如下命令
mvn install:install-file -Dfile=(jar包的位置) -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.39 -Dpackaging=jar
导入代码:
mvn install:install-file -Dfile=(jar包的位置) -DgroupId=groupId(分组) -DartifactId=artifactId(jar名称) -Dversion=version(版本号) -Dpackaging=jar
2、ftp.storeFile(filename, input)出错
在将文件上传服务器的过程中,一开始我使用的sftp方法,一直被拒绝连接,后来发现别人给我的服务器账号密码只支持ftp连接……
ftp用的是FTPClient,然后进行连接、登录
FTPClient ftp = new FTPClient(); ftp.connect(host, port);// 连接FTP服务器 ftp.login(username, password);// 登录
更换目录(最好使用绝对路径、这里不会自动创建文件夹)、上传文件:
ftp.changeWorkingDirectory(path);
ftp.storeFile(filename, input);#上传后文件名字和本地文件的输入流
在上传文件的时候,一直返回的false,而且所上传的文件是空的。
解决:在上传文件前,我做了一些配置,主要是被动模式的设置:
ftp.setControlEncoding("UTF-8"); ftp.enterLocalPassiveMode();//设置被动模式 ftp.setFileType(FTP.BINARY_FILE_TYPE);
后来,返回的是true了,但是服务器上没有文件
网上查了查,是没有设置被动模式,但我已经设置了,多番尝试下,发现没改就有了文件,可能之前是刷新太慢