Java 9 service provider and Groovy Extension Modules

时间:2017-08-30 20:54:37

标签: java groovy vert.x java-9 java-module

In a java 9 project, I'd like to require SELECT * FROM table(test2.get_ups(0));, which is the automatic name given for module PLS-00103: Encountered the symbol "FOR" when expecting one of the following: begin function pragma procedure subtype type <an identifier> <a double-quoted delimited-identifier> current cursor delete exists prior The symbol "begin" was substituted for "FOR" to continue.. Only, at runtime, I get the following error.

CREATE OR REPLACE PACKAGE test2 AS

    TYPE measure_record IS RECORD(
       x_start VARCHAR2(50), 
       x_end VARCHAR2(50), 
       trip_count NUMBER);

    TYPE measure_table IS TABLE OF measure_record;

    FUNCTION get_ups(x number)
        RETURN measure_table
        PIPELINED;
END;
/
CREATE OR REPLACE PACKAGE BODY test2 AS

    FUNCTION get_ups(x number) RETURN measure_table
        PIPELINED as

        cursor temp_cur is 
          SELECT x1, x2, count(*) FROM t1 WHERE x1 = x;

            for cur_rec in temp_cur
            loop
              pipe row(cur_rec);
            end loop;

        RETURN;
    END get_ups;
END;

It seems that vertx-web makes use of Groovy Extension Modules. This is why file vertx.web exists. Java9 reads this file wrongfully for Service Loading.

Is there any way to ignore this service file as it is in a dependency and I cannot change it ?

0 个答案:

没有答案