2013-04-17 121 views
0

My Maven项目使用spring-security-oauth的分叉JAR。使用类文件构建Maven项目

我想添加额外的调试语句,所以我解压缩了spring-security-oauth-custom.jar。

但是,当我导航到org/springframework/security/oauth/common/signature目录时,我看到了class文件。

我怎样才能使用source文件,因为我无法修改class文件?

+0

为什么不添加额外的断点而不是额外的调试语句? – djechlin

+0

我无法附加到在Tomcat上运行的二进制文件,因为我无法访问Linux服务器。 '长篇故事......' –

回答

5

Maven中的工件是不可变的。假设您让Maven从Maven存储库中抓取spring-security-oauth-custom.jar,您不能只编辑JAR文件的内容并期望能够运行。

你必须做到以下几点:

  1. 下载源代码包的spring-security-oauth-custom.jar
  2. 在某处展开源代码。
  3. 进行修改。
  4. 从这个新模块中创建一个新的工件(包括为它创建一个新的POM文件,并为其提供独特的Maven协调,例如groupId,artifactIdversion)。
  5. 在您自己的工件存储库中安装新的工件。
  6. 调整您的调用模块(即调用spring-security-oauth-custom的模块)取决于您的修改版本,而不是原始版本。
+0

谢谢@sasa。我错误地认为我有其他文件的'java'源文件。听起来像我只需要从同事那里获得Maven项目。 –

1

要使用像这样的自定义构建的JAR文件,您应该将其部署到本地存储库中,并将其用作常规依赖项。您可以手动将其存储在存储库中,也可以使用maven-install-plugin。无论哪种方式,你都应该为它创建一个唯一的版本号,所以它不会与任何正式的Spring工件“碰撞”。