Mendix中的依赖管理:npm和Maven的应用

序言

在传统java开发项目中,我们可以利用maven来管理jar包依赖,但在mendix项目开发Custom Java Action时,由于目录结构有一些差异,我们需要自行配置。同样的,在mendix项目开发Custom JavaScript Action时,我们也希望可以安装npm依赖从而自动构建进js bundle文件中,而不是通过script标签在index.html中引用。那么接下来我们就分别介绍这两种方案吧!

完整示例

https://gitee.com/engalar/mendix-debugger-demo

后端依赖管理(maven)

配置文件

{项目目录}/pom.xml

xml 复制代码
<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mxcn</groupId>
  <artifactId>DataImport</artifactId>
  <version>1.1.0</version>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.basedir}/userlib</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>false</overWriteSnapshots>
              <overWriteIfNewer>true</overWriteIfNewer>
              <excludeGroupIds>com.mendix</excludeGroupIds>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>com.github.javafaker</groupId>
      <artifactId>javafaker</artifactId>
      <version>1.0.2</version>
    </dependency>
    <!-- 此处添加你需要的jar包依赖 -->
  </dependencies>
  <pluginRepositories>
    <pluginRepository>
      <id>aliyun-plugin</id>
      <url>https://maven.aliyun.com/repository/central</url>
    </pluginRepository>
  </pluginRepositories>
  <repositories>
    <repository>
      <id>aliyun-central</id>
      <name>aliyun central</name>
      <url>https://maven.aliyun.com/repository/central</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

</project>

接下来我们只需要把我们项目的依赖填入即可,如

xml 复制代码
<dependencies>
    <dependency>
      <groupId>com.github.javafaker</groupId>
      <artifactId>javafaker</artifactId>
      <version>1.0.2</version>
    </dependency>
    <!-- 此处添加你需要的jar包依赖 -->
  </dependencies>

执行依赖安装

bash 复制代码
mvn compile

确保我们安装了mvn和jdk8,详细安装可以参考 https://www.runoob.com/maven/maven-setup.html

一切顺利我们就可以看到相应的依赖被下载到mendix期望的目录{项目目录}/userlib中了。

前端依赖管理(npm)

使用场景

我们新建了一个JavaScript Action LuckysheetRender,需要用到mobx这个npm包做状态管理

安装过程

使用

安装之后就可以在js代码中import了。

关于Mendix公司

在一个数字化先行的世界中,客户希望自己的每一项需求都得到满足,员工希望使用更好的工具来完成工作,而企业意识到自己只有通过全面数字化转型才能生存并取得成功。Mendix,a Siemens business正在迅速成为企业数字化转型的推动者。Mendix公司是权威行业分析师眼中的领导者和远见者,从人工智能和增强现实,到智能自动化和原生移动,Mendix公司已成为数字化先行企业的骨干。Mendix公司企业低代码平台已被全球4000多家领先的公司采用。

相关推荐
面朝大海,春不暖,花不开几秒前
Spring Boot MVC自动配置与Web应用开发详解
前端·spring boot·mvc
知否技术几秒前
2025微信小程序开发实战教程(一)
前端·微信小程序
RainbowJie11 分钟前
从零到一:Maven 快速入门教程
java·maven
玲小珑2 分钟前
Auto.js 入门指南(五)实战项目——自动脚本
android·前端
Sparkxuan2 分钟前
IntersectionObserver的用法
前端
玲小珑3 分钟前
Auto.js 入门指南(四)Auto.js 基础概念
android·前端
全栈技术负责人3 分钟前
Webpack性能优化:构建速度与体积优化策略
前端·webpack·node.js
爱吃肉的小鹿5 分钟前
浏览器渲染的核心流程及详细解析(2025.6月最新)
前端
shangjg36 分钟前
Kafka数据怎么保障不丢失
java·分布式·后端·kafka
贩卖纯净水.9 分钟前
webpack打包学习
前端·学习·webpack