0
我是一個完整的新手創建maven原型,在我決定問這個問題之前,我一直在閱讀很多帖子。我想創建一個模板來建立通過接口(由我創建)定義的結構以下新項目:從我的一個類中使用方法名用usign reflection創建一個maven原型
package com.jh.impl;
public class VideoPlayerCustom implements VideoPlayerInterface {
public void play(){}
public void pause(){}
public void rewind(){}
public void stop(){}
public void fastFordward(){}
}
:
package com.jh.interfaces;
public interface VideoPlayerInterface {
void play();
void pause();
void rewind();
void stop();
void fastFordward();
}
我想創建它覆蓋其方法的類,像這樣
爲了做到這一點,我發現,這樣使用反射做類似的東西用Java類的話題,但我不能用我的界面,甚至通過簡單的操作,開始得到的結果:
public class ${library-name}Client
{
#set($year = $package.getClass().forName("java.util.Date").newInstance().getYear() + 1900)
#set($name = $package.getClass().forName("com.jh.interfaces.VideoPlayerInterface").getSimpleName())
public void ${name}${year}(){}
}
$ {年份}包含本年度(正常工作),但$ {name}的創建從Maven原型項目時失敗:
generate (default-cli) on project standalone-pom: org.apache.maven.archetype.exception.ArchetypeGenerationFailure: Error merging velocity templates: Invocation of method 'forName' in class java.lang.Class threw exception java.lang.ClassNotFoundException: com.jh.interfaces.VideoPlayerInterface at archetype-resources/src/main/java/__library-name__Client.java[line 10, column 39]
有沒有人通過一個類似的問題了? 感謝
您好,感謝您的回覆。我是一個具有原型的完全新手,我應該在哪裏附加Java代碼?直到現在,我可以根據屬性值創建一個文件。 – pablogdt