Here I attached two scripts that might help you working with jar files.

Have you tried to verify that a Class must exists in a lib directory that has few dozens jar files? For example I read from a forum that there is a ServerInfo.properties inside one of tomcat jar, so I run this:
$ scala searchjar.scala ServerInfo /opt/tomcat6/lib
/opt/tomcat6/lib/catalina.jar org/apache/catalina/util/ServerInfo.class
/opt/tomcat6/lib/catalina.jar org/apache/catalina/util/ServerInfo.properties
The script can walk over one or more directory and search all jar files for you.

The second thing I do once a while is I want to see the content of a text inside the jar. For the example above, I can run my second script like this:
$ scala displayjar.scala /opt/tomcat6/lib/catalina.jar org/apache/catalina/util/ServerInfo.properties
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

server.info=Apache Tomcat/6.0.18
server.number=6.0.18.0
server.built=Jul 22 2008 02:00:36
You can even run the displayjar.scala with just a jar file, and it default to print out the Manifest file content.

Hope these scripts are useful to you.

Views: 55

Attachments:

Happy 10th year, JCertif!

Notes

Welcome to Codetown!

Codetown is a social network. It's got blogs, forums, groups, personal pages and more! You might think of Codetown as a funky camper van with lots of compartments for your stuff and a great multimedia system, too! Best of all, Codetown has room for all of your friends.

When you create a profile for yourself you get a personal page automatically. That's where you can be creative and do your own thing. People who want to get to know you will click on your name or picture and…
Continue

Created by Michael Levin Dec 18, 2008 at 6:56pm. Last updated by Michael Levin May 4, 2018.

Looking for Jobs or Staff?

Check out the Codetown Jobs group.

 

Enjoy the site? Support Codetown with your donation.



InfoQ Reading List

Webpack Publishes 2026 Roadmap with Native CSS Support, Universal Target, and Path to Version 6

Webpack's 2026 roadmap, led by Even Stensberg, unveils substantial enhancements aimed at modernizing the bundler. Key features include native CSS module support, universal compilation for various environments, built-in TypeScript support, and a focus on performance optimization. As competitors rise, webpack strives to enhance user experience while preserving its core strengths.

By Daniel Curtis

From Minutes to Seconds: Uber Boosts MySQL Cluster Uptime with Consensus Architecture

Uber redesigned its MySQL fleet using a consensus-driven architecture based on MySQL Group Replication, reducing cluster failover time from minutes to seconds. By moving leader election and failure detection into the database layer, Uber improved availability, simplified external orchestration, and strengthened consistency across thousands of production clusters.

By Leela Kumili

Presentation: From Symptom Checkers to Smart Chatbots: The Role of AI in Virtual Care

Andre Ribeiro discusses the architecture of Healthily’s AI symptom checker. He explains how Bayesian inference and RAG models bridge the gap between medical insights and confident patient action.

By Andre Riberio

AI-Powered Bot Compromises GitHub Actions Workflows Across Microsoft, DataDog, and CNCF Projects

AI-powered bot hackerbot-claw exploited GitHub Actions workflows across Microsoft, DataDog, and CNCF projects over 7 days using 5 attack techniques. Bot achieved RCE in 5 of 7 targets, stole GitHub token from awesome-go (140k stars), and fully compromised Aqua Security's Trivy. Campaign included first documented AI-on-AI attack where bot attempted prompt injection against Claude Code.

By Steef-Jan Wiggers

Uno Platform 6.5 Released With AI Agent Support, Unicode Text, and Studio Improvements

Uno Platform 6.5 introduces Antigravity AI agent support, allowing agents to verify app behavior at runtime. Hot Design now launches by default with a redesigned toolbar and new scope selector. The release also adds Unicode TextBox support for non-Latin scripts, improves WebView2 on WebAssembly, and resolves over 450 community issues across all supported platforms.

By Almir Vuk