我正在尝试添加简单的 oracle 函数,在 SQLDeveloper 中它可以编译并工作,但是当我将其添加到 liquibase 迁移中时,迁移失败。
CREATE OR REPLACE FUNCTION test_func
(test_param IN VARCHAR2
) RETURN INT
IS
test_var INT;
BEGIN
RETURN 0;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END test_func;
/
Run Code Online (Sandbox Code Playgroud)
我在迁移时遇到错误
[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:2.0.3:update (liquibase) on project tools-liquibase: Error setting up or running Liquibase: Migration failed for change set .....
[ERROR] Reason: liquibase.exception.DatabaseException: Error executing SQL BEGIN
[ERROR] RETURN 0: ORA-06550: line 2, column 10:
[ERROR] PLS-00103: Encountered the symbol "end-of-file" when expecting one of …Run Code Online (Sandbox Code Playgroud) 这里的代码
class Aux implements Runnable {
private Boolean isOn = false;
private String statusMessage;
private final Object lock;
public Aux(String message, Object lock) {
this.lock = lock;
this.statusMessage = message;
}
@Override
public void run() {
for (;;) {
synchronized (lock) {
if (isOn && "left".equals(this.statusMessage)) {
isOn = false;
System.out.println(statusMessage);
} else if (!isOn && "right".equals(this.statusMessage)) {
isOn = true;
System.out.println(statusMessage);
}
if ("left".equals(this.statusMessage)) {
System.out.println("left " + isOn);
}
}
}
}
}
public class Question {
public …Run Code Online (Sandbox Code Playgroud) 我有一个分布式应用程序,其中一部分是遗留的,因此在Java 7下运行.
另一部分是在Java 8下运行(当然是编译).
因此,从App的第一部分调用第二个VM的服务结束于:
Exception in thread "main" java.lang.UnsupportedClassVersionError: Unsupported major.minor version 52.0
我决定使用Maven编译器插件使用Java 7源/目标编译所需的服务.
所以,假设我们有一个包含两个类的包:
com/example/A.java
com/example/B.java
Run Code Online (Sandbox Code Playgroud)
如何配置Maven编译器插件,还是有其他方法?使用Java 8 编译A.javaJava 7和其他(B.java).