用java做个图片处理网站过程遇到的坑

很久没主动搭过项目了导致遇到的坑,废了我一个周末网站现在还没搭建起来,下面记录下部署过程的坑。

说下我的本地环境:win11、idea、jdk8暂且没用数据库 前端用的layui也没前后端分离,网站搭建好要过几天了因为我要编译依赖要费点时间。

服务器能用linux还是尽量linux吧,苦笑下

坑一:jar包冲突,没指定主函数

之前我本地跑程序的时候缺少servlet-api.jar我就随手引用了,导出执行jar包执行的时候跟内置的tomcat包冲突。

解决办法:打包的时候排除冲突包,添加主函数配置

坑二:resources资源文件或者java目录加载不到

xml 复制代码
<!-- 定义包含这些资源文件,能在jar包中获取这些文件 -->
<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.*</include>
        </includes>
        <!--是否替换资源中的属性-->
        <filtering>false</filtering>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.*</include>
        </includes>
        <!--是否替换资源中的属性-->
        <filtering>false</filtering>
    </resource>
</resources>

坑三:dll依赖的巨坑

因为我主要依赖win下的dll(linux是so)我在win下写的代码想着部署简单点就选了winserver结果坑了我两天时间缺各种依赖。本想着少事情结果费更多的事情,没办法我又搞起了centos。

因为我是要主动加载dll需要找文件拼接路径处理在jar包里面是个巨坑。

scss 复制代码
InitUtil.class.getClassLoader().getResource("").getPath()
InitUtil.class.getClassLoader().getResource("/).getPath() null
InitUtil.class.getClass().getResource("").getPath() null
InitUtil.class.getClass().getResource("/").getPath()
普通的读取文件操作可以用 getResourceAsStream进行操作

dll之前我是在resources目录中,主动加载的话涉及到一个问题jar包读取文件,后面这个问题我这里暂且选择了在跟程序一个目录下加载了(注意linux下需要调整下)。

txt 复制代码
##windows平台:
.dll : 动态链接库,作为共享函数库的可执行文件.
.obj : 目标文件,相当于源代码对应的二进制文件,未经过重定义.
.lib : 可理解为多个 obj 的集合,本质与 .obj 相同.
##linux平台:
.so:(share object)动态链接库,和windows 的 dll 类似.
.o : 目标文件,相当于源代码对应的二进制文件 类似 windows 下 obj.
.a : 与 .o 类似,多个 .o 的集合 类似 windows 下 lib.

功能

等我把环境搭建起来在打算看添加点什么功能

本来是没打算做的因为python不熟又没太多精力,但是深度学习没python又不行又不会c++,没内容识别模块的话感觉少点什么,最近把java加载模型的问题找到了解决办法,但是很多图片处理的东西又不是单靠加载个模型就可以解决的(例如u2net抠图类的),java先入为主熟悉点吧,用python单独写个工具类还行搞个网站有点吃力还费精力,后面看java搞电有趣合适的图片工具再整合进来。

功能点大概都是之前费了很多业余时间如下门,这里算整合了下做个记录。

相关推荐
我怎么能这么帅气17 分钟前
Node.js 多核战争:child_process vs cluster vs worker_threads 终极对决
前端·后端·node.js
寻月隐君29 分钟前
从零到 Web3:使用 @solana/kit 快速查询 Solana 账户余额
后端·web3·github
Android洋芋34 分钟前
AI论文实验与项目实战的捷径:MMLAB实战指南
后端
_杨瀚博1 小时前
sql分组 group by rollup,cube,grouping sets,group_id,groupingId
后端
冒泡的肥皂1 小时前
soap-search读取优化
java·后端·搜索引擎
未来影子2 小时前
SpringAI(GA):RAG下的ETL快速上手
后端
你的人类朋友2 小时前
JavaScript定时器的问题与优化:现代解决方案推荐
前端·javascript·后端
bobz9652 小时前
polkit 权限管理:非 root 用户也能管理虚拟机
后端
AKAMAI3 小时前
使用Akamai分布式云与CDN保障视频供稿传输安全
后端·云原生·云计算
波格斯特3 小时前
Cobra CLI 工具使用指南:构建 Go 语言命令行应用的完整教程
开发语言·后端·golang