Сохраните имена аргументов метода в байт-коде, чтобы они были доступны через отражение при сборке с Maven - PullRequest
0 голосов
/ 02 декабря 2018

Чтобы использовать из отражения, мне нужно хранить информацию о параметрах метода.

Можно сделать это вручную из затмения, выполнив (Окно -> Настройки -> Java -> Компилятор)

Но как я могу включить это через maven build

import java.lang.reflect.Method;  
import java.lang.reflect.Parameter;


public class GetParams {

       public static void main(String[] args) throws Exception {
             Method method = MyInterface.class.getMethod("myway", String.class);
             Parameter p = m.getParameters()[0];
             System.out.println(p.isNamePresent());
             System.out.println(p.getName());
        }  

        public interface MyInterface {
             String myway(String str);
        }  
  }

1 Ответ

0 голосов
/ 02 декабря 2018

Чтобы сохранить имена параметров в сгенерированном байт-коде, вы должны передать флаг -parameters компилятору java.Если вы используете Maven, вы можете сделать это через maven-compiler-plugin:

<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
      <compilerArgs>
        <arg>-parameters</arg>
      </compilerArgs>
    </configuration>
  </plugin>
</plugins>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...