有时候可能在IDEA中编辑的只是一个jar包或者是其它项目的一个模块,这个时候在这模块中没得启动类和相关配置,需要从其它jar包启动。这个时候这么调试呢?

方式一:通过远程调试

先把项目打包成一个jar文件,然后放入到需要执行jar文件配置能够读取的目录,配置maven打包jar的输出目录

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <!-- 指定打包的jar包输出路径-->
                    <outputDirectory>
                        F:\platform\lib
                    </outputDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>

如:我们编辑的模块名字叫xxx-dev,这个模块由是App.jar启动的,App.jar启动时会读取同一级libs里面的jar包,我们操作的步骤为:

1.打包生成xxx-dev模块生成的jar文件到libs目录,并且在IDEA中配置调试信息:

java写调试助手 调试jar_jar包

2.启动App.jar,命令为:java -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y -Dloader.path=lib/ -jar App.jar,这个时候就会出现下图,并且暂停

java写调试助手 调试jar_java写调试助手_02

 3.然后在IDEA中启动调试后,就会继续

java写调试助手 调试jar_App_03

并且在IDEA中出现连接成功

java写调试助手 调试jar_jar包_04

 这个时候,就可以进行断点调试了

方式二:通过JAR Aplication调试

这种也是编译打包到libs文件夹里面,

和上面一样配置好jar输出目录,然后打包

java写调试助手 调试jar_jar_05

然后配置JAR Aplication调试信息:

java写调试助手 调试jar_jar包_06

 然后启动:

java写调试助手 调试jar_App_07

这样也可以调试了