Liubsyy / JarEditor

IDEA plugin for directly editing and modifying files in jar without decompression. (一款无需解压直接编辑修改jar包内文件的IDEA插件)
Apache License 2.0
198 stars 21 forks source link

compile error in 1.4.2 #4

Open suichangyin opened 2 weeks ago

suichangyin commented 2 weeks ago

version 1.4.2 from marketplace build error:

[C:\Users\suich.m2\repository\org\jboss\ironjacamar\ironjacamar-core-impl\1.4.20.Final\ironjacamar-core-impl-1.4.20.Final-sources_temp\jar_edit_java_source\org\jboss\jca\core\connectionmanager\pool\mcp\SemaphoreConcurrentLinkedDequeManagedConnectionPool\java.java:73: error: class SemaphoreConcurrentLinkedDequeManagedConnectionPool is public, should be declared in a file named SemaphoreConcurrentLinkedDequeManagedConnectionPool.javapublic class SemaphoreConcurrentLinkedDequeManagedConnectionPool implements ManagedConnectionPool ^1 error]

Liubsyy commented 2 weeks ago

你应该打开的是一个-source.jar,即源码jar,而不是class jar,可以打开目录删掉-source.jar再试试

Liubsyy commented 2 weeks ago

或者也可以试试1.5的这个功能,跳转到class file

image
suichangyin commented 2 weeks ago

恩,是打开的source jar 使用1.5试了一下,发现反编译出来的代码有问题,很多报错 最好是能支持直接在源码上修改后编译,这样也可以避免代码行数变化

suichangyin commented 2 weeks ago

为了避免反编译导致的报错,我现在把class和source都打开,然后把source的代码全部复制到class中再修改后,可以编译成功

Liubsyy commented 2 weeks ago

直接在源码上修改生效的是source jar,如果改成source jar和class jar都生效使用会造成误解(有的人只想修改source jar)

不过可以在class jar编辑页面默认导入source jar中的代码(如果有source jar的话),如果没有则反编译。