Playframework 如何创建jar以包含在Play的/lib目录中

Playframework 如何创建jar以包含在Play的/lib目录中,playframework,Playframework,[问题] 我下载了它,其中包含两个文件,BCrypt.java和一个测试文件 我是Java打包新手,我知道/lib目录需要.jar文件。我知道如何创建类文件javacjava文件,我知道如何创建jar-cvf类文件 不过,我不知道这是否正确。如何将java文件正确打包到jar中,以便Play知道如何以及在何处找到包 另外,我的解决方法是制作一个包/playapp/app/bcrypt/bcrypt.java。Play将自动加载lib文件夹中找到的所有jar。您只需要确保Jar中的文件夹结构与包名

[问题]

我下载了它,其中包含两个文件,BCrypt.java和一个测试文件

我是Java打包新手,我知道/lib目录需要.jar文件。我知道如何创建类文件javacjava文件,我知道如何创建jar-cvf类文件

不过,我不知道这是否正确。如何将java文件正确打包到jar中,以便Play知道如何以及在何处找到包


另外,我的解决方法是制作一个包/playapp/app/bcrypt/bcrypt.java。

Play将自动加载lib文件夹中找到的所有jar。您只需要确保Jar中的文件夹结构与包名匹配

Ie如果您的类名为com.mycompany.myproject.MyClass,那么您的Jar中应该有以下文件夹结构:

com/mycompany/myproject/MyClass.class

因此,您需要将jar命令发送到jar com和所有子文件夹。

Play将自动加载lib文件夹中找到的所有jar。您只需要确保Jar中的文件夹结构与包名匹配

Ie如果您的类名为com.mycompany.myproject.MyClass,那么您的Jar中应该有以下文件夹结构:

com/mycompany/myproject/MyClass.class

因此,您需要将jar命令发送到jar com和所有子文件夹。

要创建jar文件,请按照。一种简单的方法是在IDE中创建JavaJAR项目,添加所需的文件,然后让IDE生成Jar

如果您只想向项目中添加1或2个Java文件,那么在这种情况下是可以接受的 将它们添加到项目源的场景


如果您创建了Jar,我建议您将Jar添加到一些本地存储库中,以便您可以通过playdeps自动管理它

要创建Jar文件,请按照。一种简单的方法是在IDE中创建JavaJAR项目,添加所需的文件,然后让IDE生成Jar

如果您只想向项目中添加1或2个Java文件,那么在这种情况下是可以接受的 将它们添加到项目源的场景


如果您创建了Jar,我建议您将Jar添加到一些本地存储库中,以便您可以通过playdeps自动管理它

上述方法的问题是,您将无法从其他repo运行依赖同步播放。 我在互联网上的某个地方找到了一个解决方案,并认为它可能对您有用。 如果你跑步的话,这个建议也会起作用,例如玩跑步-deps

以下是我的建议:

1:创建一个文件夹来存储您的本地存储库,例如在play应用程序的根文件夹中存储jar

2:将以下内容添加到dependencies.yml文件中:

repositories:
- provided:
      type:       local
      descriptor: "${application.path}/../[module]/conf/dependencies.yml"
      artifact:   "${application.path}/jar/[module]-[revision].jar"
      contains:
        - provided -> *
3:然后在“需要”部分将其添加到列表中

 require:
    - provided -> yourjarfilename 1.0

上面的示例要求您将文件命名为:yourjarfilename-1.0.jar

上述方法的问题是,您将无法使用其他repo的依赖项同步运行play。 我在互联网上的某个地方找到了一个解决方案,并认为它可能对您有用。 如果你跑步的话,这个建议也会起作用,例如玩跑步-deps

以下是我的建议:

1:创建一个文件夹来存储您的本地存储库,例如在play应用程序的根文件夹中存储jar

2:将以下内容添加到dependencies.yml文件中:

repositories:
- provided:
      type:       local
      descriptor: "${application.path}/../[module]/conf/dependencies.yml"
      artifact:   "${application.path}/jar/[module]-[revision].jar"
      contains:
        - provided -> *
3:然后在“需要”部分将其添加到列表中

 require:
    - provided -> yourjarfilename 1.0
上面的示例要求您将文件命名为:yourjarfilename-1.0.jar