准备编译环境
1. 安装 gradle
配置阿里镜像仓库(init.gradle)
def repoConfig = {
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.contains('https://repo1.maven.org/maven2') || url.contains('jcenter.bintray.com')) {
println "gradle init: (${repo.name}: ${repo.url}) removed"
remove repo
}
}
}
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/spring/'}
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
}
allprojects {
buildscript {
repositories repoConfig
}
repositories repoConfig
}
2. 安装 Mysql
(建议用5.0以上8.0以下版本。因为有些表的字段是mysql预留的字段,会导致构建项目时出错)
开始修改源码
- 源码下载(或者从官网下载也可以: https://github.com/Jasig/uPortal-start)
git clone https://gitee.com/amoJava/u-portal5.git
cd u-portal5
- 配置数据库驱动版本号:./uPortal-start/gradle.properties(版本可根据自己项目需求来定)
mysqldbVersion=8.0.20
- 配置数据库驱动:./uPortal-start/overlays/build.gradle
dependencies {
/*
* Add additional JDBC driver jars to the 'jdbc' configuration below;
* do not remove the hsqldb driver jar that is already listed.
*/
jdbc "org.hsqldb:hsqldb:${hsqldbVersion}"
jdbc "mysql:mysql-connector-java:${mysqldbVersion}"
}
- 修改数据源连接: ./uPortal-start/etc/portal/global.properties
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/uPortal5
hibernate.connection.username=root
hibernate.connection.password=123456
hibernate.connection.validationQuery=select 1
hibernate.dialect=org.hibernate.dialect.MySQLDialect
- 修改cas配置 (cas\WEB-INF\deployerConfigContext.xml)
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/uportal5?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai" />
<property name="username" value="root" />
<property name="password" value="123456" />
<property name="minIdle" value="1" />
<property name="maxIdle" value="2" />
<property name="maxActive" value="16" />
</bean>
- 修改 编译配置
>./uPortal-start/build.gradle
// apply from: rootProject.file('gradle/tasks/hsql.gradle')
>./uPortal-start/gradle/tasks/portal.gradle
// dependsOn ':hsqlStart'
汉化
汉化之后 将文件 放入.gradle/tomcat/webapps/uPortal/WEB-INF/classes/properties/i18n/中
如果没有则复制 Messages.properties 重命名为 Messages_zh_CN.properties
.\u-portal5\overlays\uPortal\src\main\resources\properties\i18n\Messages_zh_CN.properties
修改 u-portal5\overlays\uPortal\src\main\resources\properties\portal.properties
org.apereo.portal.i18n.LocaleManager.portal_locales=zh_CN
项目打包以及启动
windows环境下编译和启动项目命令
gradlew.bat portalInit
gradlew.bat tomcatStart
Liunx环境下编译和启动项目命令
./gradlew portalInit
./gradlew tomcatStart
温馨提示
注意:项目编译到tomcat中,后期只需修改 tomcat\portal 文件夹中相应的配置属性即可
tomcat\portal 为系统配置文件夹
global.properties 全局配置
uPortal.properties 系统配置
notification.properties 消息提醒配置