java - 构建的java类不代表变化

标签 java cognos-bi

警告:我不是 Java 也不是 Eclipse 专家!

我在Eclipse中继承了一个Java项目。我对多个 java 文件进行了更改。执行此操作并保存文件后,我运行了一个名为 set_javac.bat (也是继承的)的文件。这是该文件的编辑版本:

set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_85

rem set JAR_HOME="D:\Cognos\cognos_version\sdk\java\lib"
set JAR_HOME="D:\code\lib"

set JAVAC=%JAVA_HOME%/bin/javac

set PATH=%JAVA_HOME%/bin
rem Create the Classpath

set CLASSPATH=
set CLASSPATH=%CLASSPATH%;%JAVA_HOME%/lib/tools.jar

rem Compile Java files

运行此文件后,我将运行 build.bat (也继承 - 编辑):

@echo off

rem Licensed Materials - Property of IBM
rem 
rem IBM Cognos Products: CAMAAA
rem 
rem (C) Copyright IBM Corp. 2005, 2012
rem 

rem  Copyright © 2008 Cognos ULC, an IBM Company. All Rights Reserved.
rem  Cognos and the Cognos logo are trademarks of Cognos ULC (formerly Cognos Incorporated).

rem Build Java files in directory TestSample

echo Building TestSample

rem Build the CLASSPATH required to build Java files in the directory TestSample

set _CLASSPATH=D:\code\lib\CAM_AAA_CustomIF.jar;D:\code\adapters;D:\Cognos\cognos_version\webapps\p2pd\WEB-INF\lib\ojdbc6.jar;D:\code\lib\axis.jar;D:\code\lib\jaxrpc.jar

rem Compile Java files
javac -Xlint:unchecked -classpath %_CLASSPATH% -d . *.java

rem Create jar file
jar cfm0 CAM_AAA_TestSample.jar MANIFEST *.class

echo done

这两个 .bat 文件运行时都没有错误。新的 .class 文件与其 .java 文件位于同一目录中。还会创建一个新的 CAM_AAA_TestSample.jar 文件。但是,当 .jar 文件放置在正确的位置并重新启动 Cognos 服务并检查日志文件时,我看不到所做的更改。具体来说,我已更改日志消息(例如):

thisfile: init

到...

thisfile.java -> init: Entered function

但是当我打开日志文件时,我看到新消息(带有日期/时间戳)仍然采用旧格式。我做错了什么?

如果您需要有关设置的更多详细信息,请告诉我,我会尽力为您提供。我们使用 Eclipse 来管理工作区并使用“智能”,但我们不使用它进行构建。我们非常感谢您提供的任何信息。

最佳答案

可以在类路径上的多个类文件或 jar 文件中定义一个类。发生这种情况时,JVM 会选择使用一个 - 我非常确定它是按照类路径中列出的文件的顺序遇到的第一个文件。

我的猜测是,您遇到了这样的情况,并且您正在替换包含旧类定义的 jar 文件,但 JVM 实际上正在使用类路径上其他文件的定义。从您的评论看来,这或多或少是正确的。

关于java - 构建的java类不代表变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42119219/

相关文章:

java - Java 中 Gremlin 的 "mean"等效项(蓝图 2.6)

java - JFreeChart 显示三个点 (...) 代替 X 轴上的值

java - Jarsigner: "This jar contains entries whose certificate chain is not validated."

javascript - Cognos 报告中的日期提示

javascript - IBM Cognos Analytics 与 D3.js 条形图高度问题

linux - 在没有 Framework Manager 的情况下安装 Cognos BI?

java - 在不滚动到顶部的情况下更新 recyclerView 适配器

java - 在 JPanel 中调整图像大小并重新绘制图像

sdk - Cognos SDK 文档/教程或类似的东西