小编Joe*_*oey的帖子

Intellij中的开放项目和导入项目有什么区别?

首次启动Intellij IDEA时,您将获得一些快速启动选项,包括Import ProjectOpen Project.这两个选项有什么区别?

根据open和import之间的区别答案,androidstudio open中的项目用于现有项目,导入用于从其他环境迁移.但是在测试时,我可以使用Import或Open项目打开[已经在Intellij中的现有项目和来自其他IDE的项目].

我想知道Intellij与Android Studio的含义是否不同.

注意:我从未使用Android Studio,所以如果它显示相同的行为,请原谅.

ide intellij-idea

34
推荐指数
1
解决办法
9618
查看次数

使用Intellij构建战争并部署到Tomcat

我的基本工作流程mvn clean install在我的基本目录的终端中.这将创建一个带有WAR文件的目标目录.我将该war文件复制到我的Tomcat的webapps目录中.

如果我做出改变,我显然必须重复这个单调乏味的过程.我正在使用Intellij Ultimate 13.1.6,我知道可以通过基于本指南的IDE完成所有这些工作.

所以在我开始之前,我mvn clean在我的基础上运行,删除了目标目录.

现在开始我进入项目结构 - >工件并创建一个新的Web应用程序:存档.我将它命名为project_name,默认情况下它有一个不同的输出目录(baseDir/out/artifacts/project_name vs baseDir/target),我将所有内容保留为默认值并点击确定.

现在我转到Run - > Edit Configurations并使用以下设置创建一个新的Local Tomcat Server在此输入图像描述

在部署选项卡中,我添加了在我的图片中看到的在Before发布之前构建的工件.非常直截了当.

但是,每当我通过Intellij运行服务器时,它都会成功启动,但不会部署任何内容.我收到错误:

Artifact project_name: com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException: /Users/path/to/workspace/project_name/out/artifacts/project_name/project_name.war not found for the web module.

我仔细检查我的目录,如错误中所示,没有创建任何内容.甚至没有out目录.

我究竟做错了什么?我知道一个解决方法是返回终端,运行mvn clean install并使用创建的.war文件,将其放入部署配置中.我觉得这更像是一个黑客攻击,因为我仍然通过命令行执行它,如果我没有它已经构建,我不能将目标设置为查找war文件的目录.

任何帮助表示赞赏.

java tomcat web-applications intellij-idea maven

25
推荐指数
4
解决办法
7万
查看次数

让 Gitlab Runner 使用 node_modules 作为工件而不是在缓存中

根据GitLab 缓存与工件的文档,应该将其node_modules存储为缓存而不是工件。这样做的问题是,如果有多个运行程序,并且与创建“构建”的运行程序不同,那么缓存 ( node_modules) 将不存在,这将导致 GitLab CI 随机失败(如果同一个运行程序碰巧执行了以下操作)其余的工作就会成功)。

我可以做到这一点,这样一切都可以在一项工作中完成,但是一旦我必须进行部署,这个问题就会再次出现。另一种选择是对其进行标记,以便只有一个特定的跑步者完成这项工作,但我觉得这很慢。

经过研究,我意识到我可以将其作为工件而不是缓存放入node_modules,无论哪个运行程序运行该作业,它都会被拾取,但我找不到任何关于这是否不好的文档。

node_modules那么作为神器放起来可以吗?如果是这样,为什么人们通常不会将其作为工件(假设他们添加了过期时间)?

node.js npm node-modules gitlab gitlab-ci-runner

9
推荐指数
1
解决办法
6556
查看次数

GitLab 运行程序没有携带 node_modules 和缓存到下一个作业?

我遇到一个问题,我的 e2e 测试在 GitLab 中失败,但正常通过。我将问题范围缩小到了 node_modules,并且 cypress 缓存没有延续到下一个作业。这就是WARN Local package.json exists, but node_modules missing, did you mean to install出现错误的原因,因为 node_modules 不存在。

我认为缓存没有保留的原因是因为它被保存在一个运行器上,但是如果下一个作业在另一个运行器上,则缓存将不存在并且最终会失败。我可以将所有内容都放在一项工作中,但如果我要添加另一项工作进行部署,那么我仍然会遇到同样的问题。

这是我的 gitlab-ci.yml 文件:

image: cypress/base:12.18.4

variables:
  NPM_REGISTRY: https://registry.npmjs.org/
  npm_config_cache: $CI_PROJECT_DIR/.npm
  CYPRESS_CACHE_FOLDER: $CI_PROJECT_DIR/cache/Cypress

stages:
  - build
  - test:unit
  - test:e2e
  - lint

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - cache/Cypress
    - node_modules/

build:
  stage: build
  script:
    # set the npm registry if different from the default
    - npm config set registry $NPM_REGISTRY
    - npm i
    - npx cypress verify …
Run Code Online (Sandbox Code Playgroud)

npm node-modules gitlab gitlab-ci-runner cypress

6
推荐指数
1
解决办法
6503
查看次数

DNF缺少config-manager命令

我正在尝试dnf在CENTOS 7机器上安装。使用这个作为我的指导,我跑的前两个命令

sudo yum install epel-release

sudo yum install dnf

并成功运作。

Installed:
dnf.noarch 0:0.6.4-2.el7
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试安装Spotify,根据该站点我需要运行它

[joey ~]# dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo
No such command: config-manager. Please use /bin/dnf --help
It could be a DNF plugin command.
Run Code Online (Sandbox Code Playgroud)

在DNF站点中,它看起来好像是2.0版,所以我猜我正在使用过时的DNF,但它看起来对我来说是最新的0.6.4-2.el7。因此,我转到DNF Github页面尝试手动安装。我将其克隆并尝试运行第一个命令。

[joey dnf]$ sudo dnf builddep dnf.spec
No such command: builddep. Please use /bin/dnf --help
It could be a DNF plugin command.
Run Code Online (Sandbox Code Playgroud)

我不确定目前还需要做什么。我基本上只是想在我的CentOS机器上安装Spotify,而不确定如何从这里继续。

尝试/更新

[joey ~]$ sudo dnf install dnf-plugin-config-manager
CentOS-7 - cr                                   7.3 …
Run Code Online (Sandbox Code Playgroud)

linux centos yum spotify centos7

3
推荐指数
1
解决办法
2857
查看次数