我正在寻找一些我认为不会有困难的事情.
我有一个应用程序,我想打包成jar,因为我有~30个依赖项,我希望能够部署单个文件.
我有一些配置文件 - 属性文件和弹簧配置文件,以及我的log4道具文件 - 我希望在jar外部.我想我希望如果我将它们放在与jar相同的目录中,它会在运行时找到它们,但事实并非如此.
在开发过程中,我将这些文件放在我的eclipse项目的类路径的根目录下,应用程序发现它们就好了.我觉得我错过了jar/classpath理论的一些关键方面......
所以我想要的是能够将配置文件和jar放在同一目录中,并让我的应用程序找到配置文件,当我用标准的java -jar运行它时.
有没有一种简单的方法来实现这一目标?
我正在为我正在处理的应用程序计算得到一些奇怪的结果,我认为这里的某个人可能能够帮助弄清楚发生了什么.
此特定计算的要求表明计算应如下所示:
A和B是已知的
A * B = C
Run Code Online (Sandbox Code Playgroud)
对于这个特定的计算
A = 0.0410
B = 123456789010
Run Code Online (Sandbox Code Playgroud)
以下是我看到的结果:
计算器:
0.0410 * 123456789010 = 5061728349.41
Run Code Online (Sandbox Code Playgroud)
Java的:
B是双:
0.0410f * 123456789010d = 5.061728489223363E9 = 5061728489.223363
Run Code Online (Sandbox Code Playgroud)
B很长:
0.0410f * 123456789010l = 5.0617288E9
Run Code Online (Sandbox Code Playgroud)
对于我来说,精度的损失并不重要(我只需要9位数的精度),而不是10s和1s点的差异.为什么使用double进行计算会给出"错误"结果?
顺便说一句,我尝试使用计算进行计算,BigDecimal并得到与使用double时相同的结果.