• Category Archives: Myeclipse

使用MyEclipse进行Maven构建时出现501错误

经过分析,是由于自2020年1月15日起,中央存储库不再支持通过纯HTTP进行的不安全通信,并且要求对存储库的所有请求都通过HTTPS进行加密。

于是我们需要在构建过程中所依赖的maven对其settings.xml文件加入以下配置:

	<mirror>
		<id>central</id>
		<name>Maven Repository Switchboard</name>
		<url>https://repo1.maven.org/maven2/</url>
		<mirrorOf>central</mirrorOf>
	</mirror>

但是MyEclipse中如果使用自带的maven,则你会找不到settings.xml来进行配置,所以我从对应MyEclipse2015内置maven对应3.2.1版本源代码中找到了settings.xml文件,拷贝到C:\Users\Administrator\.m2并在mirrors中加入以上配置。

settings ←我配置好的文件在这里下载

接着根据下图只是将MyEclipse中的maven指定为刚刚设置的文件,然后执行 update project 即可~

7024d8405f8c484c4a7a2ee628e89e8

5240b2a4bda21aa8570dd13cb0f241a

 

最后要注意的是,如果使用JDK7或更低版本的话,是不支持TLS1.2的,而maven的中央仓库要求https协议为TLS1.2,此时可以考虑将JDK7升级到JDK8以上,或者将中央仓库改为阿里云的:

	<!--设置中央仓库的路径为国内阿里云路径-->
	<mirror>
		<id>nexus-aliyun</id>
		<mirrorOf>central</mirrorOf>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>
	</mirror>

如果是在MyEclipse以外的地方遇到TLS版本问题,则可以增加以下参数尝试:

-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2

 

关于Spring+Hibernate时,packagesToScan无法扫描到jar中实体类的解决办法

由于要做分布式,因此不同的微服务中会用到相同的实体类,因此需要将实体类拿到独立的项目中去,然后生成为jar来被不同的项目引用。

但是问题来了,当我使用MyEclipse进行Export导出成jar,然后由其他微服务引用此jar时,发现hibernate并没有扫描到jar中的实体类。

于是我翻了好多资料,找到以下两种解决办法:

第一种:在配置文件中指定jar中的注解实体类

		<!-- 手动加载类映射文件(如果类在jar包中,则需要使用这种方式引入才会有有效) -->
		<property name="annotatedClasses">
			<list>
				<value>com.zero4j.model.test.Test</value>
			</list>
		</property>

但是这样做有个缺点,就是无法使用“*”号来进行通配,所以当你有十个类的时候,list中就得有十个value。

第二种(推荐):使用MyEclipse导出公共实体类时,要勾选“Add directory entiriess”

49f3fe9dd03935ab16bbeaa65c80b51

然后在需要引入该jar的项目中重新引入即可。

原因分析:

默认方式生成的jar包中,只含有class文件,而并没有我们大众所知的文件夹目录结构。可能我们大多数人认为com.test.Student类,Student类文件就应该在com文件夹下的test文件夹里,这其实是片面的,是一个误区!

com.test真正的含义是package包域名,就好比.net里的命名空间,它只是为了区分、汇总、唯一标识不同的类而提出的概念,跟文件夹目录层次结构是两回事,我们只是习惯上用文件夹目录来展示package而已。但package却不一定非要用过文件夹目录来展示。

我们可以用下面这段代码来进一步说明这个问题:

	public static void main(String[] args) throws Exception {
		// 项目中jar包所在物理路径
		String jarName = "E:/Work/stsf_skisok_product/WebRoot/WEB-INF/lib/testpackage.jar";
		JarFile jarFile = new JarFile(jarName);
		Enumeration<JarEntry> entrys = jarFile.entries();
		while (entrys.hasMoreElements()) {
			JarEntry jarEntry = entrys.nextElement();
			System.out.println(jarEntry.getName());
		}				
	}

默认生成的jar包,运行结果如下:

META-INF/MANIFEST.MF
com/wang/util/DateStyle.class
com/wang/util/PropertiesUtil$1.class
com/wang/util/PropertiesUtil.class
com/wang/util/Week.class
com/wang/util/DateUtil.class
com/wang/vo/request/hotel/test/PopularCityRequest.class
com/wang/vo/request/hotel/test/EconomicsRequest.class
com/wang/vo/request/hotel/test/HotelProductVouchRequest.class
com/wang/vo/request/hotel/test/QueryOrderListRequest.class
com/wang/vo/request/hotel/test/HotelListQueryRequest.class
com/wang/vo/request/hotel/test/RoomReserveRequest.class
com/wang/vo/request/hotel/test/HotelOneQueryRequest.class
com/wang/vo/request/hotel/test/HotelBrandRequest.class

如果勾选Add directory entries选项生成的jar包,运行结果如下:

META-INF/MANIFEST.MF
com/
com/wang/
com/wang/util/
com/wang/util/DateStyle.class
com/wang/util/PropertiesUtil$1.class
com/wang/util/PropertiesUtil.class
com/wang/util/Week.class
com/wang/util/DateUtil.class
com/wang/vo/
com/wang/vo/request/
com/wang/vo/request/hotel/
com/wang/vo/request/hotel/test/
com/wang/vo/request/hotel/test/PopularCityRequest.class
com/wang/vo/request/hotel/test/EconomicsRequest.class
com/wang/vo/request/hotel/test/HotelProductVouchRequest.class
com/wang/vo/request/hotel/test/QueryOrderListRequest.class
com/wang/vo/request/hotel/test/HotelListQueryRequest.class
com/wang/vo/request/hotel/test/RoomReserveRequest.class
com/wang/vo/request/hotel/test/HotelOneQueryRequest.class
com/wang/vo/request/hotel/test/HotelBrandRequest.class

这样也就解释了为何打成jar包后用getResource获取资源url总是为空的原因了。

MyEclipse2015导入SpringBoot2.x的maven项目时,pom.xml第一行出现错误提示的解决方法。

其实不是很建议大家为了这个错误进行以下操作,因为会让MyEclipse2015中的部分Spring功能被删除。请大家先做好MyEclipse的备份工作。

MyEclipse2015导入SpringBoot2.x的maven项目时,pom.xml第一行会出现如下的错误提示:

e2fa00b2caf6db3c0b04b0e3996fba7

解决办法是更新eclipse中的maven插件:

help -> Install New Software -> add

Name填写:MavenArchiver

Location填写:https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/0.17.2/N/LATEST

0ad3bf1b02d596543358077f8fe62c5

添加后一路Next,根据指示重启Eclipse

97991d71a4b83486d156efbc21f242d

不管错误提示一路继续,安装完后根据提示重启MyEclipse。

重启MyEclise对项目执行Update POM,错误提示则消失。

如果此时错误仍未消失,则选中项目,并右键 Maven -> Disable Maven Nature,接着依然右键Configure -> Convert to Maven Project,此时问题解决。(你可以删除项目重新导入,也能达到同样的效果)

MyEclipse/Eclipse中properties文件中文乱码问题解决

有时候在myeclipse或者eclipse中打开properties文件时会发现其中的中文都是乱码。这是由于当前的properties文件编码格式不支持汉字造成的。当这种情况发生时,我们可以按照以下两种方式更改文件的编码格式即可。方法一可以一次性更改所有项目的properties文件编码格式。方法二可以根据需要有选择地对某些文件进行更改。

方法一:依次点击windows-preferences-content-text-Java properties file,并将弹出窗和右下方的default encoding该为GBK,然后依次点击update-OK关闭弹出窗格即可。另外,在次窗口中,如果在右侧上方窗格内选择其他文件类型,则可以对其他文件的编码进行全局更改。

123

方法二:右击某个需要更改的properties文件,选择properties,在弹出窗的左侧树状目录上选择Resource,右下方的text file encoding编辑区内点击other,然后选择GBK(如果没有,可直接手动输入),最后依次点击apply-ok关闭弹出窗口即可。

234

MyEclipse 的 JRebel 6.4.1 破解

jrebel-6.4.0-Enterprise.Cracked-ZCT

通用破解6.4.0

1.下载并解压压缩包

2.复制jrebel6文件夹里面的jrebel.jar文件到myeclipse目录下的plugins\org.zeroturnaround.eclipse.embedder_6.4.1.RELEASE\jrebel里面

3.复制jrebel.lic到myeclipse目录下的plugins\org.zeroturnaround.eclipse.embedder_6.4.1.RELEASE里面

4.运行myeclipse后打开jrebel界面,选择刚刚拷贝的jrebel.lic文件,破解完成

close