首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >software.amazon.jsii.JsiiException:找不到模块@company/cdk-tagsModule

software.amazon.jsii.JsiiException:找不到模块@company/cdk-tagsModule
EN

Stack Overflow用户
提问于 2021-06-28 17:02:14
回答 1查看 202关注 0票数 1

我正在尝试使用由JSII从类型记录aws库项目中生成的一个内部java库。

当我们尝试调用和在cdk synth上时,我们会出现以下错误

software.amazon.jsii.JsiiException:模块‘@company/cdk-标记’未找到错误:模块‘@company/cdk-标记’未找到

目前我们使用的是cdk版本1.106.0、java 13和maven 3.6。

这是我们的package.json和模块-Package.json

package.json

代码语言:javascript
复制
  "name": "aws-cdk-library",
  "version": "0.0.0",
  "description": "company's AWS CDK Library.",
  "author": {
    "name": "company",
    "url": "https://www.company.com",
    "organization": true
  },
  "scripts": {
    "build": "lerna run build --stream --sort --concurrency=1",
    "clean": "lerna clean",
    "deploy": "lerna publish --no-push --no-git-tag-version --force-publish --yes",
    "eslint": "eslint . --ext=.js,.ts --format=node_modules/eslint-formatter-pretty",
    "install": "lerna bootstrap",
    "lint": "eslint . --ext .js,.ts --ignore-path=.gitignore",
    "package": "lerna run package --stream --sort --concurrency=1",
    "publish-mvn": "lerna run publish-mvn --stream --sort --concurrency=1",
    "test": "jest",
    "test:ci": "jest --ci --runInBand",
    "setVersion": "lerna version --no-push --no-git-tag-version --force-publish --yes",
    "watch": "lerna run watch --parallel"
  },
  "devDependencies": {
    "@aws-cdk/assert": "1.106.0",
    "@aws-cdk/aws-certificatemanager": "1.106.0",
    "@aws-cdk/aws-cloudfront": "1.106.0",
    "@aws-cdk/aws-cloudwatch": "1.106.0",
    "@aws-cdk/aws-cloudwatch-actions": "1.106.0",
    "@aws-cdk/aws-lambda": "1.106.0",
    "@aws-cdk/aws-route53": "1.106.0",
    "@aws-cdk/aws-route53-targets": "1.106.0",
    "@aws-cdk/aws-s3": "1.106.0",
    "@aws-cdk/aws-s3-deployment": "1.106.0",
    "@aws-cdk/aws-sns": "1.106.0",
    "@aws-cdk/aws-sns-subscriptions": "1.106.0",
    "@aws-cdk/aws-synthetics": "1.106.0",
    "@aws-cdk/core": "1.106.0",
    "@aws-solutions-constructs/aws-cloudfront-s3": "1.106.0",
    "@aws-solutions-constructs/core": "1.106.0",
    "@types/jest": "^26.0.23",
    "@types/node": "^15.0.0",
    "@typescript-eslint/eslint-plugin": "^4.22.0",
    "@typescript-eslint/parser": "^4.22.0",
    "constructs": "^3.3.75",
    "eslint": "^7.25.0",
    "eslint-config-tc": "^19.0.0",
    "eslint-config-typescript-tc": "^3.0.0",
    "eslint-formatter-pretty": "^4.0.0",
    "eslint-plugin-eslint-comments": "^3.2.0",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-jest": "^24.3.6",
    "eslint-plugin-prettier": "^3.4.0",
    "eslint-plugin-unicorn": "^33.0.0",
    "jest": "^26.6.3",
    "jsii": "^1.30.0",
    "jsii-pacmak": "^1.30.0",
    "jsii-release": "^0.2.9",
    "lerna": "^4.0.0",
    "prettier": "^2.2.1",
    "ts-jest": "^26.5.5",
    "ts-node": "^10.0.0",
    "typescript": "^4.2.4"
  },
  "dependencies": {
    "@company/cdk-route53-cloudfront-s3": "file:packages/route53-cloudfront-s3",
    "@company/cdk-cloudwatch": "file:packages/cloudwatch",
    "@company/cdk-nodejs-canary": "file:packages/nodejs-canary",
    "@company/cdk-pagerduty-alarm-action": "file:packages/pagerduty-alarm-action",
    "@company/cdk-tags": "file:packages/tags"
  },
  "engines": {
    "node": ">=14.0.0",
    "npm": ">=6.0.0"
  },
  "private": true,
  "license": "UNLICENSED"
}```

** module-package.json **

{
  "name": "@company/cdk-tags",
  "version": "0.0.0",
  "description": "A helper library for setting required AWS Tags.",
  "keywords": [
    "aws",
    "cdk"
  ],
  "repository": {
    "type": "git",
    "url": "git+................"
  },
  "author": {
    "name": "company",
    "url": "..........",
    "organization": true
  },
  "license": "UNLICENSED",
  "bugs": {
    "url": "..............."
  },
  "homepage": ".......................",
  "main": "lib/index.js",
  "types": "lib/index.d.ts",
  "scripts": {
    "build": "jsii",
    "watch": "jsii -w",
    "package": "jsii-pacmak",
    "publish-mvn": "jsii-release-maven"
  },
  "jsii": {
    "outdir": "dist",
    "targets": {
      "java": {
        "package": "com.company.common.aws.cdk",
        "maven": {
          "groupId": "com.company.common.aws.cdk",
          "artifactId": "tags"
        }
      }
    }
  },
  "devDependencies": {
    "@aws-cdk/assert": "1.106.0",
    "@aws-cdk/aws-sns": "1.106.0"
  },
  "peerDependencies": {
    "@aws-cdk/core": "1.106.0",
    "constructs": "^3.2.84"
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-07 13:59:09

最后,我们能够解决这个问题。这是由于具有相同java包结构名称的多个模块造成的。这在从java运行时在加载和查找模块时产生了冲突。

更改包结构后,它开始正常工作。

我们在一个主要项目中有多个模块,如cloudwatch和nodejs-金丝雀。

先于

云表的package.json

"jsii":{ "groupId":"com.company.common.aws.cdk","artifactId":“artifactId”}}}

package.json for nodejs-金丝雀

"jsii":{ "groupId":"com.company.common.aws.cdk","artifactId":“NodeJS-金丝雀”}}}

"jsii":{ "groupId":"com.company.common.aws.cdk","artifactId":“artifactId”}}}

package.json

"jsii":{ "groupId":"com.company.common.aws.cdk","artifactId":“NodeJS-金丝雀”}}}

只是为了添加更多,最初当我们使用一个模块运行时,它工作得很好。稍后,在Java中使用时添加了额外的模块之后,我们得到了模块未找到的错误。

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

https://stackoverflow.com/questions/68167379

复制
相关文章

相似问题

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