草庐IT

static-compilation

全部标签

Java条件编译: how to prevent code chunks from being compiled?

我的项目需要Java1.6才能编译和运行。现在我需要让它与Java1.5一起工作(从营销方面)。我想替换方法体(返回类型和参数保持不变)以使其与Java1.5一起编译而不会出错。详细信息:我有一个名为OS的实用程序类它封装了所有特定于操作系统的东西。它有一个方法publicstaticvoidopenFile(java.io.Filefile)throwsjava.io.IOException{//openthefileusingjava.awt.Desktop...}通过双击打开文件(startWindows命令或openMacOSX命令等效)。由于它不能用Java1.5编译,我想在

java - 'public static final' 还是带有 setter/getter 的 'private static final'?

在Java中,变量应该保持私有(private)以实现更好的封装,但是静态常量呢?这个:publicstaticfinalintFOO=5;结果与此等价:privatestaticfinalintFOO=5;...publicstaticgetFoo(){returnFOO;}但哪种做法更好? 最佳答案 不直接在代码中使用常量的原因之一。假设FOO稍后可能会更改(但仍保持不变),例如publicstaticfinalintFOO=10;。只要没有人愚蠢到直接硬编码值,就不应该破坏任何东西吗?没有。Java编译器会将上面的Foo等常量

java - 升级到 Gradle 2.0 : Could not find property 'Compile' on root project 后

为避免在构建我的Java源代码时出现有关特殊字符的警告,我将这一行放在我的gradle.build中,它在升级到Gradle2.0之前运行良好:tasks.withType(Compile){options.encoding="UTF-8"}升级后,失败并出现以下错误:Couldnotfindproperty'Compile'onrootproject我该如何解决这个问题? 最佳答案 换行tasks.withType(JavaCompile){options.encoding="UTF-8"}修复了问题。

java - Spring MVC 异常 - 调用请求方法导致异常 : public static native long java. lang.System.currentTimeMillis()

我刚刚在我的日志文件中多次看到此异常:Invokingrequestmethodresultedinexception:publicstaticnativelongjava.lang.System.currentTimeMillis()java.lang.IllegalArgumentException:Invalidhandlermethodreturnvalue:1302697287376atorg.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver.getModel

java - SONAR 提示 Make the enclosure method "static"or remove this set

我的程序中有以下代码,在将其与Maven集成后,我正在运行SonarQube5以对其进行代码质量检查。但是,Sonar要求将封闭方法设为“静态”或删除此集合。方法是setApplicationContext。如何消除此错误?为什么会出现这个错误?publicclassSharedContextimplementsApplicationContextAware{publicstaticfinalStringREPORT_ENGINE_FACTORY="reportEngineFactory";privatestaticApplicationContextapplicationContex

Spring : serving static resources outside context root

在网络应用程序中,我需要提供位于应用程序上下文目录之外的静态内容(图像)。整个应用程序架构需要我使用Tomcat来执行此操作。我以为我可以从Spring的中受益配置应用程序URL和目录内容之间的映射。但是AFAIK是mapping属性仅处理上下文相关或类路径映射。因此,我想使用什么:不起作用。由于我宁愿避免编写简单的文件传输servlet,如果有人能给我一些关于现有基于Spring的解决方案/解决方法的指示,我会很高兴。非常感谢。荷马 最佳答案 可以从外部提供资源,你需要使用通常的Springresourcepathsyntax:

kotlin - 相当于 Java 的 'public static final string'

在我的Java项目中,我有一个类,我使用publicstaticfinalString属性声明了许多项目常量:publicclassConstants{publicstaticfinalStringKIND_NAME="user";publicstaticfinalStringAVATAR_IMAGE_ID="avatarImageId";publicstaticfinalStringAVATAR_IMAGE_URL="avatarImageUrl";publicstaticfinalStringNAME_COLUMN="name";publicstaticfinalStringTOT

Kotlin 数据类 : how to read the value of property if I don't know its name at compile time?

如果属性名称仅在运行时已知,我如何读取Kotlin数据类实例中的属性值? 最佳答案 这是一个从给定属性名称的类的实例中读取属性的函数(如果未找到属性则抛出异常,但您可以更改该行为):importkotlin.reflect.KProperty1importkotlin.reflect.full.memberProperties@Suppress("UNCHECKED_CAST")funreadInstanceProperty(instance:Any,propertyName:String):R{valproperty=instan

static - Kotlin 对象 vs 伴生对象 vs 包作用域方法

我在Kotlin中编写了这些方法并分析了字节码:情况1classA{objectb{fundoSomething(){}}}情况2classA{companionobjectb{fundoSomething(){}}}情况3fundoSomething(){}字节码结果情况一:classTest$asb,publicfinaldoSomething()I情况2:类Test$Companion,publicfinaldoSomething()I情况3:类TestKt,publicfinalstaticdoSomething()I我的问题是:我有一个枚举类,我想返回一个给定枚举变量的枚举实

kotlin - 是否可以为 Java 类添加 "static"扩展功能?

例如我有Java类(来自外部库):classA{}//ThisisJavaclass我想添加在Kotlin上编写的扩展函数,并将其命名为:A.foo()//Thisiscallofextensionfunction`foo`fromKotlincode据我了解,目前在Kotlin中是不可能的,因为它支持KClass-eswithcompanionobject的“静态”扩展功能。只要。对吧?似乎没有什么可以阻止以后在Kotlin中实现这样的功能。对吧?2019-06-12更新:这个question没有回答我的问题,因为我的问题是关于Kotlin扩展函数与Java类的兼容性。