首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ec2上安装playwright依赖项以在Java中使用它

在ec2上安装playwright依赖项以在Java中使用它
EN

Stack Overflow用户
提问于 2021-11-11 09:50:36
回答 1查看 129关注 0票数 0

我正在尝试使用playwright在我的java应用程序中生成pdf。这在本地环境下工作得很好,但在使用Beanstalk将其部署到ec2上时,我得到了以下错误:

代码语言:javascript
复制
Nov 11 09:17:32 ip-172-xx-xx-2 web: 2021-11-11 09:17:32.927 ERROR 17681 --- [io-5000-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.microsoft.playwright.PlaywrightException: Error {
Nov 11 09:17:32 ip-172-xx-xx-2 web: message='Host system is missing dependencies!
Nov 11 09:17:32 ip-172-xx-xx-2 web: Missing libraries are:
Nov 11 09:17:32 ip-172-xx-xx-2 web: libatk-1.0.so.0
Nov 11 09:17:32 ip-172-xx-xx-2 web: libatk-bridge-2.0.so.0
Nov 11 09:17:32 ip-172-xx-xx-2 web: libcups.so.2
Nov 11 09:17:32 ip-172-xx-xx-2 web: libxkbcommon.so.0
Nov 11 09:17:32 ip-172-xx-xx-2 web: libXcomposite.so.1
...

当然,错误消息非常简单。缺少依赖关系!我已经知道我可以通过CLI工具安装这些依赖项,但我不知道在我的构建过程中通过CodeBuild和CodeDeploy通过CodePipeline安装它的位置和方式。您可以在此处找到以下命令:https://playwright.dev/java/docs/cli/#install-system-dependencies

代码语言:javascript
复制
mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="install-deps"

所以问题是:我在哪里以及如何在我的CodePipeline中安装Playwright依赖项,以便使用beanstalk在ec2上运行它?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2021-11-11 09:57:27

缺少

依赖项!

好的,与其担心依赖关系,为什么不把它们和应用程序的代码一起打包到一个Uber Jar中呢

使用mnv可以很容易地做到这一点。通过在POM文件的插件部分中包含maven-assembly-plugin,可以将Maven配置为从项目构建一个Fat JAR。

将此代码添加到您的pom.xml

代码语言:javascript
复制
configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>

            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>

然后运行mvn clean package。这会将您的依赖项打包到您的jar中,并且它们将不可能丢失。

下面是一个link,其中包含有关该主题的更多细节

这解决了你的问题吗?在评论中让我知道

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69926227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档